SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

코더즈 컨커 보안: 셰어 앤 런 시리즈 - 코드 인젝션

Jaap Karan Singh
Veröffentlicht am 16. Mai 2019
Zuletzt aktualisiert am 09. März 2026

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.

코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.

코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.

  • 작동 방식
  • 왜 그렇게 위험한가요?
  • 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?

공격자는 코드 인젝션을 어떻게 사용하나요?

코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.

첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.

$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);

영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.

/index.php?아르그=1; 시스템 (ID)

코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.

코드 인젝션 공격이 왜 그렇게 위험한가요?

코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.

숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.

대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.

아무도 믿지 마세요!(또는 적어도 사용자는 아님)

코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.

항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.

사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.

또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.

코드 인젝션을 위한 수정 적용

환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.

자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.

지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

Ressourcen anzeigen
Ressourcen anzeigen

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.

Sind Sie an weiteren Informationen interessiert?

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbaren
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Jaap Karan Singh
Veröffentlicht am 16. Mai 2019

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.

코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.

코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.

  • 작동 방식
  • 왜 그렇게 위험한가요?
  • 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?

공격자는 코드 인젝션을 어떻게 사용하나요?

코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.

첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.

$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);

영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.

/index.php?아르그=1; 시스템 (ID)

코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.

코드 인젝션 공격이 왜 그렇게 위험한가요?

코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.

숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.

대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.

아무도 믿지 마세요!(또는 적어도 사용자는 아님)

코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.

항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.

사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.

또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.

코드 인젝션을 위한 수정 적용

환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.

자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.

지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

Ressourcen anzeigen
Ressourcen anzeigen

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Zustimmung, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen der Sicherheitscodierung zukommen zu lassen. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichung
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss können Sie es jederzeit wieder deaktivieren.

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.

코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.

코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.

  • 작동 방식
  • 왜 그렇게 위험한가요?
  • 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?

공격자는 코드 인젝션을 어떻게 사용하나요?

코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.

첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.

$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);

영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.

/index.php?아르그=1; 시스템 (ID)

코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.

코드 인젝션 공격이 왜 그렇게 위험한가요?

코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.

숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.

대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.

아무도 믿지 마세요!(또는 적어도 사용자는 아님)

코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.

항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.

사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.

또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.

코드 인젝션을 위한 수정 적용

환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.

자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.

지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Bericht anzeigenDemo-Termin vereinbaren
Ressourcen anzeigen
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Sind Sie an weiteren Informationen interessiert?

Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Jaap Karan Singh
Veröffentlicht am 16. Mai 2019

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.

코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.

코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.

  • 작동 방식
  • 왜 그렇게 위험한가요?
  • 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?

공격자는 코드 인젝션을 어떻게 사용하나요?

코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.

첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.

$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);

영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.

/index.php?아르그=1; 시스템 (ID)

코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.

코드 인젝션 공격이 왜 그렇게 위험한가요?

코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.

숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.

대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.

아무도 믿지 마세요!(또는 적어도 사용자는 아님)

코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.

항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.

사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.

또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.

코드 인젝션을 위한 수정 적용

환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.

자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.

지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

Inhaltsverzeichnis

PDF herunterladen
Ressourcen anzeigen
Sind Sie an weiteren Informationen interessiert?

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbarenDownload
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge