BadUSB 익스플로잇은 치명적이지만 적중 될 수 있습니다.

9 년 전에 저는 세계 최초의 USB 웜을 만들었습니다. USB 썸 드라이브를 가지고 놀면서 숨겨진 파일을 그 위에 놓음으로써 "감염된"USB 드라이브가 꽂혀있는 컴퓨터를 자동으로 호스트 컴퓨터에 퍼뜨린 다음 새 USB가있을 때 다시 되돌릴 수 있습니다. 장치가 연결되었습니다.

그것은 디지털 카메라와 휴대폰에서 작동했습니다. USB 장치 (실제로는 이동식 미디어 장치)를 가져와 웜 파일을 실행할 수있었습니다. 나는 그것을 가지고 노는 많은 재미를 보았습니다.

나는 그 결과를 고용주와 관련 공급 업체에보고했습니다. 그들은 차례로 상당한 시간 동안 나의 침묵을 요구했고, 그래서 그들은 구멍을 막을 수있었습니다. 나는 대규모 국가 안보 회의에서 내 발견 사항을 발표 할 계획이었고 획득 한 해커 신용과 공공 안전 중에서 선택해야했습니다. 나는 후자와 함께 갔다.

솔직히 말해서이 벤더는 미래의 고객이나 고용주가 될 수 있기 때문에 화를 내고 싶지 않았습니다. 구멍이 뚫 렸고 대중은 현명하지 않았습니다. 몇 년 후, Stuxnet 맬웨어 프로그램에서 사용되는 매우 유사한 방법을보고 놀랐습니다.

그러나 내 경험으로 인해 연결된 장치를 다시는 신뢰하지 못했습니다. 그 이후로 나는 USB 장치 나 이동식 미디어 카드를 내가 소유 한 컴퓨터에 연결하지 않았으며 원래 컴퓨터에 연결되지 않았으며 내 통제하에 있습니다. 때로는 편집증이 적절합니다.

BadUSB는 현재 야생에서 심각한 위협입니다.

오늘로 이끈다. 이제 GitHub에 BadUSB의 소스 코드 (BadBIOS라는 가짜 맬웨어 프로그램과 혼동하지 말 것)가 게시되어 9 년 전의 실험이 어린 이용 게임처럼 보입니다. BadUSB는 컴퓨터 하드웨어 입력 장치에 심각한 결과를 초래하는 실제 위협입니다.

BadUSB는 악의적 인 작업을 수행하기 위해 USB 장치의 펌웨어 코드를 쓰거나 덮어 씁니다. 2014 년 7 월에 처음 발표 된 BadUSB는 베를린의 Security Research Labs의 한 쌍의 컴퓨터 연구원이 발견 한 후 Black Hat Conference에서 그 발견을 시연했습니다.

USB 저장 장치에서 악의를 확인하는 기존의 모든 방법이 작동하지 않기 때문에 공격이 두려워됩니다. 악성 코드는 USB의 펌웨어에 심어지며 장치가 호스트에 연결될 때 실행됩니다. 호스트는 펌웨어 코드를 감지 할 수 없지만 펌웨어 코드는 호스트 컴퓨터의 소프트웨어와 상호 작용하고 수정할 수 있습니다.

악성 펌웨어 코드는 바이러스 백신 검사를 우회하면서 다른 맬웨어를 심고, 정보를 훔치고, 인터넷 트래픽을 우회 할 수 있습니다. 이 공격은 매우 실행 가능하고 위험한 것으로 간주되어 연구원들은 익스플로잇 만 시연했습니다. 많은주의를 기울여 개념 증명 코드 나 감염된 장치를 공개하지 않았습니다. 그러나 두 명의 다른 연구원이이 익스플로잇을 리버스 엔지니어링하고 데모 코드를 만들어 GitHub를 통해 전 세계에 공개했습니다.

CNN, Atlanta Journal-Constitution, The Register, PC Magazine과 같은 뉴스 및 소비자 기술 사이트에 이미 등장한 드라마에 대해“세상은 악성 USB 장치로 가득 차게 될 것입니다!”라고 외친다.

BadUSB 익스플로잇이 USB를 넘어서는 이유

첫째, 위협이 진짜라는 것을 인식하는 것이 중요합니다. 연구 과학자들이 주장하는 바를 수행하도록 USB 펌웨어 수정할 있습니다. 전 세계의 해커들은 아마도 개념 증명 코드를 다운로드하고, 악성 USB 장치를 만들고, 연구자들의 테스트 익스플로잇보다 훨씬 더 악의적 인 행위에 대한 시작점으로 개념 증명 코드를 사용하고있을 것입니다.

둘째, 문제는 USB 장치에만 국한되지 않습니다. 사실 USB 장치는 빙산의 일각입니다. 펌웨어 구성 요소를 사용하여 컴퓨터에 연결된 모든 하드웨어 장치는 악성으로 만들 수 있습니다. 저는 FireWire 장치, SCSI 장치, 하드 드라이브, DMA 장치 등에 대해 이야기하고 있습니다.

이러한 장치가 작동하려면 펌웨어가 호스트 장치의 메모리에 삽입되어 실행되어야하므로 맬웨어가 쉽게 이동할 수 있습니다. 악용 할 수없는 펌웨어 장치가있을 수 있지만 그 이유는 모르겠습니다.

펌웨어는 본질적으로 실리콘에 저장된 소프트웨어 명령에 지나지 않습니다. 기본 수준에서는 소프트웨어 프로그래밍에 불과합니다. 그리고 하드웨어 장치가 호스트 컴퓨터 장치와 통신 할 수 있도록하려면 펌웨어가 필요합니다. 장치의 API 사양은 장치의 프로그래머에게 장치가 제대로 작동하도록하는 코드를 작성하는 방법을 알려 주지만 이러한 사양과 지침은 보안을 염두에두고 조립되지 않습니다. 아니요, 서로 대화 할 수있는 항목을 얻기 위해 작성되었습니다 (인터넷처럼).

악성 활동을 활성화하기 위해 많은 프로그래밍 지침이 필요하지 않습니다. 대부분의 저장 장치를 포맷하거나 몇 가지 지침으로 컴퓨터를 "벽돌"할 수 있습니다. 지금까지 작성된 가장 작은 컴퓨터 바이러스는 크기가 35 바이트에 불과했습니다. GitHub 개념 증명 예제의 페이로드는 14K에 불과하며 많은 오류 검사 및 정교한 코딩을 포함합니다. 저를 믿으십시오. 14K는 오늘날의 맬웨어 세계에서 아주 작습니다. 거의 모든 펌웨어 컨트롤러에 멀웨어를 삽입하고 숨기는 것은 쉽습니다.

실제로 해커와 국가가 이러한 펌웨어 백도어에 대해 오랫동안 알고 사용했을 가능성이 매우 높습니다. NSA 감시자들은 이러한 장치에 대해 오랫동안 추측 해 왔으며 이러한 의심은 최근에 발표 된 NSA 문서에서 확인되었습니다.

무서운 사실은 해커가 펌웨어 장치를 해킹하여 펌웨어가 존재하는 한 무단 작업을 강요했다는 것입니다.

BadUSB는 패닉 목록에서 벗어날 수있는 가장 큰 위협입니다.

현실은 컴퓨터에 연결된 펌웨어 장치 (USB 또는 기타)에 대해 최소한 오랫동안 긴장 했어야합니다. 저는 거의 10 년 동안 그렇게 해왔습니다.

유일한 방어는 신뢰할 수있는 공급 업체의 펌웨어 장치를 연결하고 제어 할 수 있다는 것입니다. 하지만 연결 한 장치가 한꺼번에 손상되지 않았거나 공급 업체와 컴퓨터간에 변조되지 않았는지 어떻게 알 수 있습니까? Edward Snowden의 유출은 NSA가 청취 장치를 설치하기 위해 이동중인 컴퓨터를 가로 챈다는 것을 암시합니다. 분명히 다른 스파이와 해커는 공급망을 따라 구성 요소를 감염시키기 위해 동일한 전술을 시도했습니다.

그래도 긴장을 풀 수 있습니다.

악성 하드웨어가 발생할 수 있으며 일부 제한된 시나리오에서 사용될 수 있습니다. 그러나 널리 퍼지지는 않을 것입니다. 하드웨어 해킹은 쉽지 않습니다. 리소스 집약적입니다. 칩셋마다 다른 명령어 세트가 사용됩니다. 그런 다음 의도 된 피해자가 악성 장치를 받아들이고 컴퓨터에 삽입하도록하는 성가신 문제가 있습니다. 가치가 매우 높은 대상의 경우 이러한 "미션 임파서블"스타일의 공격은 그럴듯하지만 일반 Joe에게는 그다지 많지 않습니다.

오늘날의 해커 (미국, 영국, 이스라엘, 중국, 러시아, 프랑스, ​​독일 등의 스파이 기관 포함)는 전통적인 소프트웨어 감염 방법을 사용하여 훨씬 더 많은 성공을 누리고 있습니다. 예를 들어, 해커는 매우 정교하고 교활한 Blue Pill 하이퍼 바이저 공격 도구를 구축하고 사용하거나 수십 년 동안 훨씬 더 많은 수의 사람들을 해킹하는 데 잘 작동하는 일반적인 일상 소프트웨어 트로이 목마 프로그램을 사용할 수 있습니다.

그러나 악성 펌웨어 또는 USB 장치가 광범위하게 나타나기 시작했다고 가정합니까? 공급 업체가 문제에 응답하고 해결할 것이라고 확신 할 수 있습니다. BadUSB는 현재는 방어 수단이 없지만 향후에는 쉽게 방어 할 수 있습니다. 결국, 그것은 단순히 소프트웨어 (펌웨어에 저장 됨)이고 소프트웨어가이를 무력화시킬 수 있습니다. USB 표준 기관은 이러한 공격을 방지하기 위해 사양을 업데이트하고 마이크로 컨트롤러 공급 업체는 펌웨어에서 악의가 발생할 가능성을 줄이며 운영 체제 공급 업체는 더 빨리 대응할 것입니다.

예를 들어, 일부 운영 체제 공급 업체는 이제 컴퓨터가 완전히 부팅되기 전이나 사용자가 로그인하기 전에 DMA 장치가 메모리에 액세스하지 못하도록 차단하여 플러그인 된 DMA 장치에서 발생하는 발견 된 공격을 방지합니다. Windows 8.1, OS X (오픈 펌웨어 암호를 통해) 및 Linux는 일반적으로 사용자가 이러한 방어를 활성화해야하지만 DMA 공격에 대한 방어 기능이 있습니다. BadUSB가 널리 보급되면 동일한 종류의 방어가 구현됩니다.

해커 친구가 악의적으로 인코딩 된 USB 썸 드라이브를 사용하여 속임수를 사용하기로 결정하더라도 BadUSB를 두려워하지 마십시오. 나를 좋아하세요-항상 제어 할 수없는 USB 장치를 사용하지 마십시오.

기억하세요 : 해킹이 걱정된다면 펌웨어에서 실행되는 것보다 브라우저에서 실행되는 것이 훨씬 더 걱정됩니다.