목록§IT/정보보안기사-시스템 (9)
Information Security
1) 멜트다운 - 인텔 CPU에 적용된 '비순차적 명령어 처리(OoOE)' 기술의 버그를 악용한 보안 취약점이다.멜트다운을 이용하면 보안을 위해 응용프로그램이 CPU의 캐시 메모리에 접근하지 못했던 기존 하드웨어 보안 구조가 통쨰로 무너진다. 버그의 이름을 '붕괴' 라고 이름붙인 이유다. 멜트다운 버그를 이용하면 해커가 악의를 가지고 만든 응용 프로그램(해킹 프로그램)이 사용자의 시스템 메모리에 접근할 수 있게 된다. 사용자의 데이터를 훔쳐가라고 대문이 활짝 열리는 것과 다름 없다. 멜트다운은 이론 상 문제가 되는 비순차적 명령 처리 기술이 적용된 모든 인텔 CPU에서 발생할 수 있다. 2) 스펙터 - CPU속에 담겨있는 수 많은 명령어에서 일어나는 버그를 악용한 취약점이다. 이 버그를 이용하면 해킹 프..
1) 개요 - 포맷 스트링은 C언어의 printf() 등의 함수에서 사용되는 문자열의 입/출력 형태를 정의하는 문자열로 서식 문자열이라 표현한다. - 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격으로 외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생할 수 있는 취약점이다. - 공격자는 포맷 스트링을 이용하여 취약한 프로세스를 공격하거나 메모리 내용을 읽거나 쓸 수 있다. 그 결과, 공격자는 취약한 프로세스의 권한을 획득하여 임의의 코드를 실행할 수 있다. - 출력문에서 올바르지 못한 방법을 악용하여 크래커들이 실제 메모리 번지를 공격하여 원하는 값으로 변경하거나 시스템의 루트 권한을 획득하는 공격 2) 공격 원리 실습 %n : 이전까지 출력한 총 바이트..
1) 개요 - 레이스 컨디션은 둘 이상의 프로세스나 스레드가 공유자원에 동시에 접근할 때 접근하는 순서에 따라 비정상적인 결과가 발생하는 조건/상황을 말한다. - 실행되는 프로세스가 임시파일을 만드는 경우 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼어들어 임시파일을 목적파일로 연결(심볼릭 링크) 악의적인 행위를 할 수 있는데 이를 레이스 컨디션 공격이라 한다. - 만일, 프로세스가 setuid 설정이 되어 root 권한으로 실행된다면 권한 상승을 통한 중요 자원에 접근하는 심각한 문제가 발생할 수 있다. 2) 공격 원리 실습 ① 첫 번째 매개변수로 파일명을 입력받고 두 번째 매개변수로 파일에 출력할 데이터를 입력받아 해당파일 생성 후 데이터를 출력하는 프로그램 ② 소스파일을 컴파일 하여 실행파일..
1) 개요 - 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생한다. 버퍼 오버플로우가 발생하게 되면 프로그램의 오작동을 유발시키거나, 악의적인 코드를 실행시킴으로써 공격자 프로그램을 통제할 수 있는 권한을 획득하게 된다. 1-1) 버퍼오버플로우의 종류 - 스택 버퍼 오버플로우 : 스택 영역에 할당된 버퍼크기를 초과하는 데이터를 입력하여 복귀주소를 변경하고 공격자가 원하는 임의의 코드를 실행하게 한다. - 힙 버퍼 오버플로우 : 프로그램 실행 시 힙 영역에 할당된 버퍼크기를 초과하는 데이터를 입력하여 메모리의 데이터와 함수 주소 등을 변경하여 공격자가 원하는 임의의 코드를 실행하게 한다. 2) 버퍼 오버플로우를 위한 C 언어 함수 - str..
1) 개요 - PAM은 리눅스 시스템 내에서 사용되는 각종 어플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리들을 말한다. > 일반적으로 lib/security 또는 /usr/lib/security 디렉터리에 해당 라이브러리가 저장되어 있다. > 라이브러리들은 어플리케이션 인증 목적으로 관리자에 의해 선택적으로 사용할 수 있다. 이를 통해 소프트웨어 개발 시 인증부분을 독립적으로 개발할 수 있고 필요에 따라 인증체계를 선택적으로 사용할 수 있는 장점이 있다. - 리눅스는 로그인이나 Telnet, FTP 등 각종 프로그램 사용 시 PAM을 통해 인증을 처리한다. 프로그램 개발 시 인증모듈을 별도 개발하지 않고 플러그 방식의 PAM을 사용하여 불필요한 소요를 줄일 수 있고 무엇보다 중앙통제가 가능하다..
1)개요 - 기존의 inetd 슈퍼데몬의 비효율적인 리소스 관리와 보안성 문제를 극복하기 위해 나온 슈퍼데몬으로 서비스별 다양한 설정 옵션을 가지고 있다. - 서비스별 접근제어를 위해 TCP Wrapper의 기능뿐만이 아니라 자체적으로 다양한 서비스별 접근제어가 가능하다. - /etc/xinetd.conf : 글로벌 xinetd 설정파일 ( 공통파일) - /etc/xinetd.d/서비스 설정파일 : 개별 서비스에 대한 설정파일 2) 서비스별 설정파일 service : 서비스 이름 disable : 해당 서비스의 실행 여부를 결정한다. (yes:실행안함, no:실행) socket_type : 서비스 소켓 유형을 설정한다. 일반적으로 tcp의 경우 stream, udp의 경우 dgram을 설정한다. wait..