코드 삽입 공격을 피하기 위해 프로세서가 명령어 세트를 무작위로 추출하는 현대 프로세서에서 약 instruction set randomization
을 읽었습니다. 실제로, Wikipedia 설명은 나에게 명확하지 않다. 친절하게도 누군가가 그 과정을 명확한 방법으로 설명 할 수 있습니까? 관련된 열쇠가 있습니까?명령어 세트 임의 화의 작동 방식 대략
0
A
답변
0
명령어 무작위 화는 코드 삽입 공격을 피하는 것입니다. 예를 들어 공격자가 실행하기를 원하는 취약한 코드가 있고 프로그램 컨트롤을 해당 코드 블록의 시작 부분으로 전송하는 것입니다. 비보호 환경에서 컨트롤이 전송되면 CPU는 적절한 코드와 취약한 코드를 구분할 수 없으므로 코드 실행을 시작합니다. 그러한 공격을 막기 위해 할 수있는 "간단한"일은 침입자가 모르는 올바른 기계 코드에 대한 암호화를 사용하는 것입니다. 따라서 디코드 단계에서 적절한 코드가 먼저 해독 된 다음 디코딩됩니다. 공격자는 적절한 코드를 암호화하는 데 사용되는 키를 알지 못하므로 암호 해독 단계가 성공하지 못하므로 실행되지 않습니다.
관련 문제
- 1. HTML 메타 문자 세트 작동 방식
- 2. x86 명령어 세트 로드맵
- 3. 완전한 명령어 세트
- 4. SSE 명령어 세트 제한
- 5. 명령어 세트 시뮬레이터는
- 6. 명령어 세트 인코딩이란 무엇입니까?
- 7. 명령어 세트 인코딩을 통한 명령어 주소
- 8. 2 명령어로 명령어 세트 설계
- 9. Android 용 명령어 세트 목록
- 10. QRectF :: adjusted() 작동 방식
- 11. Google의 gfeed 작동 방식
- 12. 플러그인 작동 방식
- 13. DataTriggers : 작동 방식
- 14. mysql 연결의 작동 방식
- 15. JSON의 올바른 작동 방식
- 16. IMAP 유휴 작동 방식
- 17. JNDI - 작동 방식
- 18. jQuery 작동 방식 이해
- 19. Hibernate.initialize() 작동 방식
- 20. XMLReader의 작동 방식
- 21. 데코레이터의 작동 방식 이해
- 22. 인증 서버 작동 방식
- 23. 이 프로그램의 작동 방식
- 24. SoundEffect.GetSampleSizeInBytes 작동 방식
- 25. DotNetOpenAuth 작동 방식
- 26. setOnKeyListener의 작동 방식
- 27. FlushMode.COMMIT의 작동 방식
- 28. Datastax PreparedStatements의 작동 방식
- 29. 작동 방식 - gwt의 image.setUrl?
- 30. rpmbuild의 작동 방식 이해
"현대 프로세서에서"- 내 지식으로는 실제 제품 CPU가 실제로 ISR을 지원하지 않습니다.이 시점에서 연구 노력으로 "현대 프로세서"라고 오인됩니다. 제안 된 구현은 상당히 제한적이며 사전 컴파일 된 바이너리에는 적합하지 않습니다 (예 : 실행 파일의 코드 섹션은 반복 키를 XOR하여 "암호화"되어 있으므로 사전 컴파일 된 코드는 모두 설치하지 않는 한 동일한 키를 공유합니다. 사후 처리로 바뀌 었습니다. 그렇다면 해시가 키를 특별하게 고려하지 않고 달라지기 때문에 파일 서명이 깨집니다. – ShadowRanger