Constant(438)
-
Stack Cookie (GS aka. canary) 3
보호되어 있는 글입니다.
2018.01.27 -
Stack Cookie (GS aka. canary) 2
이전 포스팅에서는 유동적으로 입력한 데이터가 기존의 버퍼의 크기를 초과 했을 때 스택이 오염 된다는 것에 언급하였다. 이번에는 조금 다른 얘기를 해볼까 한다. 정상적인 코드에 쓸데없이 라인이 추가되어 LOC(Line Of Code)가 증가하게 되면 퍼포먼스가 감소되는 것 같다. 그 이유는 여기에서 추측해볼 수 있었다. 순전히 나의 생각을 서술한 것 이기 때문에 틀릴 수도 있다. 컴파일러는 퍼포먼스 감소 영향을 최소화하기 위해 _alloca를 사용해 스택에 메모리를 할당하거나, 함수가 스트링 버퍼를 가지고 있을 때만 스택 쿠키를 추가하는 로직을 사용하게 되었고, 추가적으로 보호 매커니즘은 버퍼가 5바이트 이상의 데이터를 가질 때만 활성화 된다. 다음은 상기에 서술한 문장 PoC다. 아래는 버퍼가 5바이트 ..
2018.01.23 -
Stack Cookie (GS aka. canary)
공부 한 내용을 복습하는 공간으로 삼으려고 한다. 몇 년 전만 해도 익스플로잇 하는 것은 참 쉬웠다고 한다. 그 이유는 몇 가지가 존재하는데 그것부터 언급하고 시작하려 한다. 공격에 쓸 만한 리턴주소와 pop/pop/ret 주소를 쉽게 발견할 수 있었고, 애플리케이션이 쉘 코드로 점프할 수 있도록 만드는 것이 가능했기 때문이다. 또한 우리는 해당 가젯들의 주소를 운영체제나 애플리케이션에서 사용하는 dll에서 아주 쉽게 찾을 수도 있었다고 한다. 뿐 만 아니라 이 주소들은 시스템이 재 부팅 되더라도 변하지 않기 때문에 공격 코드 제작을 더욱 용이하게 할 수 있었다. 계속해서 애플리케이션에 공격이 진행되니까 마이크로소프트 사는 보호 할 수 있는 정책을 만들 수 밖에 없었다. 보호 매커니즘이라고도 표현할 수 ..
2018.01.23 -
Read Meltdown Paper for study
보호되어 있는 글입니다.
2018.01.23 -
김현민 저자님 - Function Pointer Overwrite
보호되어 있는 글입니다.
2018.01.23 -
p. 38
보호되어 있는 글입니다.
2018.01.22