Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
spectre-attack — 공개된 "Spectre" 익스플로잇(CVE-2017-5753 및 CVE-2017-5715) 사용 예시 | Kitploit
도구/GitHubGitHub/eugnis/spectre-attack
Memory ForensicsVulnerability AnalysisExploitationHardware SecurityLearning & EducationBinary Exploitation
GitHubeugnis/spectre-attack

spectre-attack

공개된 "Spectre" 익스플로잇(CVE-2017-5753 및 CVE-2017-5715) 사용 예시

저장소 보기
7711678년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Spectre 공격 예제

2018년 1월 2일에 공개된 "Spectre" 익스플로잇 사용 예제 (CVE-2017-5753 및 CVE-2017-5715)

Spectre는 서로 다른 애플리케이션 간의 격리를 무너뜨립니다. 공격자가 모범 사례를 따르는 오류 없는 프로그램을 속여 비밀을 유출하도록 만들 수 있습니다. 실제로 이러한 모범 사례의 안전 검사는 공격 표면을 증가시키며 애플리케이션을 Spectre에 더 취약하게 만들 수 있습니다.

  • Spectre 논문 - Spectre 논문 및 코드 소스

언어

C, 사용 라이브러리:

  • stdio.h
  • stdint.h
  • intrin.h - rdtscp 및 clflush용

예제는 무엇을 하나요?

메모리에 "The Magic Words are Squeamish Ossifrage."라는 텍스트를 넣은 다음 익스플로잇을 사용해 읽으려고 시도합니다. 시스템이 취약하다면 출력에서 메모리로부터 읽은 동일한 텍스트를 볼 수 있습니다.


이 코드에서 victim_function()의 컴파일된 명령이 엄격한 프로그램 순서대로 실행된다면 array1의 크기가 16이므로 함수는 array1[0..15]에서만 읽습니다. 그러나 추측 실행 시에는 범위를 벗어난 읽기가 가능합니다. readMemoryByte() 함수는 victim_function()을 훈련용으로 여러 번 호출하여 분기 예측기가 x에 유효한 값이 들어올 것으로 기대하게 만든 다음, 범위를 벗어난 x로 호출합니다. 조건부 분기가 잘못 예측되고, 이어지는 추측 실행이 범위를 벗어난 x를 사용해 비밀 바이트를 읽습니다. 그런 다음 추측 코드는 array2[array1[x] * 512]를 읽어 array1[x]의 값을 캐시 상태로 유출합니다. 공격을 완성하기 위해 간단한 flush+probe 기법으로 array2에서 로드된 캐시 라인을 식별하여 메모리 내용을 알아냅니다. 공격은 여러 번 반복되므로 대상 바이트가 처음에 캐시에 없었더라도 첫 번째 반복에서 캐시로 가져오게 됩니다.

비최적화 코드는 i7 Surface Pro 3에서 약 10KB/초를 읽습니다.

빌드

GCC 사용

gcc -std=c99 Source.c -o spectre.out 또는 make

Visual Studio 사용

새 빈 프로젝트를 만들고 Source.c를 추가한 다음 Build를 클릭합니다.

실행

테스트

매개변수 없이 .\spectre.out 실행.

주소에서 읽기

.\spectre.out {address} {length} 매개변수:

  • address - 대상 char *의 포인터 주소
  • length - char *의 길이

출처

  • Spectre 익스플로잇 정보
  • CVE-2017-5753 - 변종 1: 경계 검사 우회
  • CVE-2017-5715 - 변종 2: 분기 대상 주입
  • 영향을 받는 Intel CPU 목록
도구 다운로드