제퍼넷 로고

이번 주의 보안 소식: Traingate, DNS 및 JMP 슬라이드

시간

특정 디젤 차량이 배기가스 테스트를 감지하고 이를 위해 더 깨끗하게 작동하여 테스트를 "속이는" 스캔들인 Dieselgate를 기억하십니까? Traingate는 그것을 관점으로 볼 수 있습니다.. 우리는 처음부터 이야기를 할 것이지만, 거칠고 놀라운 라이딩을 위해 안전벨트를 매십시오. 모든 것은 폴란드 열차의 유지 보수 점검으로 시작됩니다. 이 열차는 유지보수 계약에 입찰한 Newag가 제작했지만 계약은 다른 회사인 SPS가 따냈습니다. 이러한 종류의 정밀 검사에는 각 열차를 구성 요소로 분해하고 검사하고 윤활하는 등의 작업이 포함되며 모두 다시 조립하는 작업이 포함됩니다. 첫 번째 열차는 이런 과정을 거쳐 완전히 재조립된 후 움직이기를 거부했다. 기존의 문제 해결 방법을 모두 사용한 후 SPS는 해커를 데려왔습니다.

Dragon Sector는 폴란드의 연구 그룹으로 전 세계적으로 주목을 받고 있습니다. Toshiba 노트북 BIOS 보안 작업. 그리고 이들은 이 일을 수행하기에 완벽한 그룹이라는 것이 밝혀졌습니다. 하드웨어를 결합하는 것부터 Infineon TriCore 아키텍처에 대한 Ghidra의 지원을 개선하는 것까지 기차 시스템에 발판을 마련하기 위해 많은 작업이 수행되었습니다. 그러나 마침내 그들은 메모리 덤프를 수행하고 고장난 열차와 작동하는 열차를 비교할 수 있었습니다. 키를 보유하고 있는 것처럼 보이는 일련의 구성 플래그가 있었습니다. 그러나 이 특별한 열차는 운행에 절실히 필요했습니다. 그래서 원래 제조업체인 Newag에 연락하여 유지보수를 완료하고 열차를 다시 운행하게 했습니다. 그러나 해커는 지속성이 없다면 아무것도 아닙니다. 밤새도록 작업한 후 문자 그대로 몇 분의 여유가 생긴 Dragon Sector는 고장난 열차의 메모리를 유효한 구성으로 덮어쓸 수 있었고 다시 한 번 살아났습니다.

지금까지 여기에는 의심스러운 것이 아무것도 없습니다. 유지 관리 후 시동 확인이 쉽게 잘못되어 이런 상황이 발생할 수 있습니다. 그러나 Dragon Sector는 계속해서 도구를 파고 개선하고 열차 펌웨어에서 더 많은 비밀을 알아냈습니다. 그리고 그들이 발견한 것은 놀라운 것이었습니다. 첫 번째는 이러한 종류의 유지 보수 점검을 수행할 수 있는 폴란드의 모든 열차 조차장에 해당하는 GPS 좌표였습니다. 열차가 10일 이상 Newag를 제외한 정비소 내에 주차되어 있으면 깃발이 작동하고 열차가 작동하지 않게 됩니다. 유지 관리를 위해 Newag로 돌아오지 않은 열차를 벽돌로 만들려는 노골적인 시도 외에는 그 "특징"을 보기가 어렵습니다. 하지만 더 많은 것이 있습니다.

문서화되지 않은 치트 코드가 열차의 메인 컴퓨터 콘솔에 입력될 때까지 특정 구성 요소를 교체하면 유사한 파손이 발생할 수 있습니다. 또 다른 경우에는 기차가 백만 킬로미터를 주행한 후 파손될 수 있습니다. 또 다른 열차는 특정 날짜에 압축기 불량으로 고장이 날 예정이었고 프로그래밍 오류로 인해 해당 고장이 29년 후까지 지연되었습니다. 전체적으로 Dragon Sector는 폴란드 전역의 24개 열차를 조사한 결과 그 중 XNUMX개에서 놀라운 작은 놀라움을 발견했습니다. 폴란드의 CERT Polska를 통해 법 집행 기관에 이 사건이 통보되었습니다.

답으로, Newag는 Dragon Sector를 비방 및 컴퓨터 범죄로 고발했습니다., 철도 안전에도 위협이 됩니다. 우리가 말할 수 있는 것은 철저한 조사를 통해 사건의 진실이 밝혀지고, 진정한 범죄자에게 책임이 있기를 바란다는 것뿐입니다.

항상 DNS입니다

DNS 서버가 DNS 이름에 대한 업데이트를 어떻게 받는지 궁금한 적이 있습니까? 몇 가지 방법이 있는 것으로 밝혀졌습니다. 하나는 클라이언트가 DNS 이름과 IP 주소를 광고하여 업데이트를 직접 보내는 것입니다. DNS 동적 업데이트는 AD(Active Directory)를 포함한 여러 DNS 서버에서 지원되며 거의 모든 구현에서 합리적인 보안 구현을 갖습니다. 반면에 DHCP 요청의 일부로 전송되는 DNS 업데이트도 있습니다. 그리고 그것들은… 문제가있다.

이 글은 Active Directory에 중점을 두고 있지만 다른 DHCP 서버에서도 비슷한 문제가 발견되더라도 놀랄 일은 아닙니다. 즉, DNS 업데이트가 인증되지 않았습니다. IP 주소가 부여된 모든 장치는 동시에 DNS 이름을 요청할 수 있습니다. 이것이 Microsoft 서버 환경에서 작동하는 방식은 DNS 서비스가 자체 자격 증명을 사용하여 DNS 업데이트를 DNS 서버에 전달하는 것입니다. 두 개의 별도 서버이고 이름이 이미 다른 호스트에 의해 직접 등록된 경우 업데이트가 실패합니다. 그러나 청구되지 않은 이름이나 심지어 DHCP 서버의 이름 자체도 확보할 수 있습니다. 동일한 서버에서 실행되는 DNS 및 DHCP 서비스의 경우 거의 모든 DNS 이름이 사용됩니다. 그리고 AD 환경에서는 인증에 대한 모든 종류의 추가 공격이 허용됩니다.

이러한 문제는 Microsoft에 보고되었으며 Microsoft는 이를 알려진 문제로 간주하여 보안 수정이 필요하지 않다고 생각합니다. AD 네트워크를 구축할 때 알아두면 유용합니다. 문제가 발생하지 않도록 Akamai는 다음과 같은 글을 작성했습니다. 호출-DHCPCheckup 문제를 확인하기 위한 Powershell 도구로 사용됩니다.

JMP 슬라이드를 실행해 보세요

익스플로잇을 작성할 때 사용되는 기술인 NOP 슬라이드가 있습니다. 일련의 No Operation 명령과 대상 쉘코드가 이어집니다. 취약점은 공격자가 제어하는 ​​메모리 영역 어딘가로 이동하지만 정확한 목적지는 다양할 수 있다는 아이디어입니다. 이는 매우 자주 사용되므로 데이터의 0x90 블록은 악성일 수 있음을 알려주는 것 중 하나입니다. NOP 슬라이드에는 문제가 있습니다. 즉, 유용한 쉘코드에 도달하기 위해 모든 NOP 명령을 수행하는 데 걸리는 시간보다 시간이 더 오래 걸릴 수 있다는 점입니다. 그리고 그곳이 바로 그곳이다 JMP 슬라이드가 등장합니다.

기본은 슬라이드에 몇 바이트가 남아 있는지 알기 때문에 JMP 명령을 사용하여 페이로드로 바로 이동할 수 있다는 것입니다. 정렬만 빼면 훌륭합니다. 즉, x86 기계어 코드는 명령어와 인수를 자유롭게 혼합합니다. 명령어가 버퍼의 어디에 위치할지 정확히 모르는 경우 jmp를 실행하려고 하는지 아니면 오프셋을 명령어로 실행하려고 하는지 어떻게 알 수 있나요? 이에 접근하는 몇 가지 확실한 방법이 있습니다. 예를 들어 0x90 값을 JMP에 대한 인수로 사용하고 그 뒤에 훨씬 더 작은 NOP 슬라이드 영역을 사용하여 JMP를 포착하는 것입니다.

JMP 명령은 양수 또는 음수일 수 있는 오프셋을 기반으로 하고 0x90은 음수 오프셋이기 때문에 이것도 약간 어려운 문제입니다. 작동할 수 있지만 이를 관리하려면 전체 쉘코드 페이로드를 거꾸로 구성해야 합니다. 조건부 점프 JCC opcode라는 또 다른 옵션이 있습니다. 이는 기계어 코드에서 0x70-0x7F이며 양수 오프셋으로 관리됩니다. 유일한 문제는 이러한 점프가 알 수 없는 레지스터 값에 따라 조건부로 수행된다는 것입니다. 최종 해결책은 더 크면 점프 opcode를 두 번 사용한 다음, 작거나 같으면 점프 opcode를 두 번 사용하는 것입니다. 둘 다 긍정적인 오프셋이며 둘 다 JMP 슬라이드를 통해 꾸준히 진행되어 결국 작은 NOP 슬라이드에 도달하여 최종적으로 쉘코드를 실행합니다. 영리한!

비트 및 바이트

해고된 후에는 나가는 길에 다리를 불태우고 싶은 유혹이 생길 수 있습니다. 여기에는 코드 저장소 삭제, 로그 파일 삭제, 독점 코드 가져가기, 업무용 노트북 훔치기, 동료 사칭 등이 포함됩니다. 아마도 그렇지 않을 것이다. First Republic Bank의 한 소프트웨어 엔지니어는 유혹을 뿌리칠 수 없었고 529,000년의 징역, XNUMX년의 집행유예를 선고받고 손해 배상금으로 XNUMX달러를 지불하게 됩니다. 확실히 그만한 가치가 없습니다.

모든 것을 네트워크나 인터넷에 연결할 필요가 없는 이유에 대해 자세히 알아보려면 다음을 참조하세요. 우크라이나 키예프스타 사이버 공격의 여파. 이 전화 및 인터넷 제공업체는 화요일에 파괴적인 데이터 삭제 공격으로 인해 폐쇄되었습니다. 결제 처리가 중단되어 은행과 상점이 문을 닫았고, 공격의 부산물로 소프트웨어 컨트롤러가 비활성화되었기 때문에 적어도 한 도시에서는 가로등을 전력망에서 수동으로 연결 해제해야 했습니다. 어쩌면 오래된 기계식 타이머가 결국 더 나았을 수도 있습니다.

spot_img

최신 인텔리전스

spot_img