에 대한 버퍼 오버플로우


  Share  
|

버퍼 오버플로우는 아마도가 장 악명을 널리 홍보 공격을합니다. 이들은 복잡한 공격을하는 근본적인 하드웨어와 소프트웨어의 기능을 악용하는 시스템입니다.

없는 사람들을위한 소프트웨어 개발자, 몇 개의 개념에 대한 설명이 필요합니다. 첫째로, 그것은 유용하게 파악의 버퍼가있습니다. 이 컴퓨터 시스템은 풀의 랜덤 액세스 메모리 (램) 작은 덩어리로 구성되어 운영 체제에서 실행되는 응용 프로그램입니다. 이 메모리 사이에서 공유하기 위해 운영 체제의 많은 프로세스와 응용 프로그램을하는 특수 메모리 관리자 좌표는 어떤 덩어리의 램 수영장이 사용하는 응용 프로그램을 실행하고있는가 사용할 수있습니다. 는 응용 프로그램이 처음 실행하면, 메모리가 할당의 응용 프로그램 및 모든 하위 기능과 변수가있습니다.

으로의 응용 프로그램을 실행, 더 많은 메모리를 할당할 수있습니다에 대한 새로운 변수와 베르크 - 할당하면 더 이상 사용하지입니다. 버퍼는 덩어리 (또는 여러 개의 덩어리)의 메모리를 사용하여 저장하는 변수입니다. 서로 다른 버퍼 수와 자주 수행 측면 -에 의해 - 측면이 메모리에 존재합니다. 버퍼가 보유하는 변수는 존재 옆에 한 조각의 메모리를 지니는 기능이나 다른 응용 프로그램입니다. 예를 들어, 귀하의 사용자 이름을 입력하면 프롬프트 또는 윈도우, 프로그램이 선언의 버퍼,있는 자의 이름이 저장되어있습니다.

버퍼 오버플로우는 버퍼가 너무 작습을 수용할 때 발생 데이터의 양을 제공합니다. 이 데이터는 적합하지 않습니다에 버퍼가 덮어 내년 덩어리의 메모리가있습니다. 여기에 거짓말의 위험성은 버퍼 오버플로우입니다. 메모리는 덮어 쓰와 함께 여분의 데이터는 또 다른 변수를 실행중인 응용 프로그램을하는 변수에 대한 또 다른 응용 프로그램이나 응용 프로그램의 스택입니다. 스택을 포함 응용 프로그램 - 특정 정보와 같은 물리적 위치에 응용 프로그램의 함수와 변수가있습니다.

이러한 변경에 대한 경로는 응용 프로그램이 정상적 수행을 일으키는 그것을 사용 불량 데이터, 추락 사고, 또는 실행은 새 기능을합니다. 실행이 새로운 기능은 보통의 목표는가 버퍼 오버플 - 것인지 여부를 시스템에 대한 액세스를 제공하거나 그 설정을 수정합니다.

그 소유자가 액세스할 때 덮어 쓰게 메모리가 내년, 새 데이터가 될 수 무효, 그리고 응용 프로그램이 수 충돌이나 함수가 부적절합니다. 버퍼 오버플로우는 공예에 의해 착취 오버플로 데이터를 좀 유용 이해할 수있는 시스템입니다. 이 좀 의미를 실행하는 또 다른 프로그램을 일으키는 해를을 시스템이나 도둑질 정보가있습니다.

이 개념을 더욱 분명하게 보여줍니다을 고려 우편 기계가 검사를 글자에 대한 자신의 목적지 도시입니다. 정합니다 봉투 a는 운명에 대한 뉴욕, 뉴욕 주, 그리고 봉투 b는 운명에 대한 60 번지입니다. 우편 번호는 봉투 b는 특별한 젖은 잉크가 "오버플로우,"덮어 우편은 뉴욕에 봉투는 보스턴과의 봉투는 자동으로 쌓아의 경우에 우편 시설입니다. 우편 기계를 검사한 봉투 a를 읽습을 덮어 우편 번호입니다. 이 편지는 그 다음에 전달 보스턴입니다.

버퍼 오버플로우는 주로 단순한보다 더 악의적인 사고, 그래서 저희가 정해가 귀중한 합계의 현금은 운명을 우편 상자에 뉴욕입니다. 가 도둑, 또는 침입자를 알고있는 정확한 위치의 편지와 봉투를 사용하여 만들어집니다 콧물 잉크가 덮어 우편 번호를 봉투와 함께 우편 번호에 대한 보스턴 때 그들이 쌓아. 공격자 임대료의 보스턴 우편 상자와 동일한 번호로의 원래 목적은 뉴욕과 진행을 도용이 돈을합니다.

a 우편 머신은 오직 능력을 인정 우편 번호에 상관없이 어디에서 오는합니다. 를 실행하는 컴퓨터는 능력이 지침에 상관없이 어디에서 오는합니다. 따라서 버퍼 오버플로 공격을 덮어의 원래 지침의 응용 프로그램을 사용하여 새 지침은 컴퓨터를 실행하는 것을 원인이있을 수있습니다 아무것 공격자 소망합니다.

이것은 문서들 의해 tamas querolin

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions