본문 바로가기

시스템/시스템보안11

(1-1) OS OS(운영체제) OS란 컴퓨터 유저와 컴퓨터 하드웨어 사이에서 즉각적으로 움직이는 프로그램이다.OS의 목표:유저 프로그램들을 실행시키고 유저들의 문제들을 해결하는 것을 쉽게 해 준다.컴퓨터 시스템을 쓰기 쉽게 만든다.효율적인 공간에서 컴퓨터 하드웨어가 사용되게 한다.  Computer System Structure(컴퓨터 시스템 구조) 컴퓨터 시스템은 4개의 부품들로 나뉠 수 있다.하드웨어: 기본 컴퓨팅 리소스 제공(CPU, 메모리, 입출력 장치 등)OS: 다양한 앱들과 유저들을 통해 하드웨어의 사용을 조종하거나 협력한다.앱: 유저들의 컴퓨팅 문제들을 해결하는데 쓰이는 시스템 리소스들을 정의한다.유저: 사람들, 기계, 아님 다른 컴퓨터들 Computer-System Operation(컴퓨터-시스템 작동).. 2024. 6. 24.
9-1. Reverse Engineering Reverse engineering Reverse engineering:리버스 엔지니어링은 시스템, 소프트웨어, 하드웨어의 안에서 작동하는 것을 분석하고 이해하는 과정이다.즉, 외부의 동일한 기능을 구현하기 위해 내부를 뜯어 분석하는 행위인 것.효율적이고 정확한 분석을 위해서는 다양한 지식을 알고 있어야 한다: 커널, 프로세스, 어셈블리어정보 수집: 문서, 프로그래밍 언어, 라이브러리, 컴파일러 등등 방법에는 2가지 방법이 있다.- 정적 분석: 디컴파일러를 사용해 실행 바이너리로부터 소스를 역추출하는 방법 등이 있다.   도구를 사용하면 쉬운편   도구: IDA pro, Ghidra, Radate2, 등등 - 동적 분석: 정적 분석만으로는 런타임에 결정되는 컨트롤 플로우를 따라가기 어렵다는 단점이 있다... 2024. 6. 4.
중간(7~8 선택과 집중) Dynamic linking information  - 작동시간동안 동적/공유된 라이버리를 로드하기위해 요구되는 정보 정적 링킹 - 링커가 컴파일-타임에 다양한 객체 파일과 라이브러리를 하나의 실행 파일로 결합하는 과정을 말한다.- 모든 외부 함수 호출 및 변수 참조를 최종 실행 파일로 해결한다.동적 링킹 - 프로그램이 런타임에 함수 호출 및 변수 참조를 위해 별도의 공유 라이브러리 파일을 사용하는 메커니즘이다. - 프로그램은 공유 라이브러리에 대한 참조를 포함하고 있으며, 이 참조는 메모리에 로드되고 실행 시 프로그램에 링크된다. Sectionxxd [filename]sh_name: 섹션 헤더의 스트링 섹션의 배열이다.  Program loading  - 시스템이 프로세스 이미지를 생성하면, 논리적으로.. 2024. 4. 24.
중간 access control 더보기Access Control 로그인 과정: 식별 -> 인증  -> 권한 허가 -> 접근 식별: 접근 허가를 시도하는 것을 아이디가 맞는지로 확인인증: 비번등으로 인증해야함권한 허가: 어떤 자원들이 접근 가능한지와 어떤 행동을 할 수 있는지 확인한다.접근: 이제 사용 가능함. 시스템은 계속 사용자가 한 것들 기록한다. - 개별을 위한 계층적 차이 - User: 사용자는 인증 프로세스를 통해 식별되며, 여기서 자신의 신원을 증명하기 위해 자격 증명(사용자 이름, 비밀번호, 생체 인식 데이터) 또는 다른 형태의 식별 정보를 제공할 수 있다.- Principal: 유저 정보에 대한 인터페이스원리는 컴퓨터 시스템에 의해 인증될 수 있는 엔티티를 의미한다. ID를 할당받을 수 있는 모든 엔티티를 의미한다.  -.. 2024. 4. 20.
중간 password cracking Salt - 해시함수를 돌리기 전에 랜덤 데이터를 더한다.- 같은 비밀번호를 갖고 있는 사람들이 있는 경우 하나의 비밀번호를 알게되면 다양한 사람들의 비밀번호를 알게 되기 때문이다.- 비밀번호 + salt를 하면 digest값은 사람마다 달라지게 된다.- 무차별 대입 공격 방지- 레인보우 테이블로부터 보호: 레인보우 테이블과 비교하기 어려워진다.(임의의 문자열이기 때문) Rainbow table - 랜덤으로 값을 얻은 digest의 리스트(digest는 값이 변하지 않음)- 해시 값만 있으면 비밀번호를 알 수 있다. Iteration -해시 횟수- iteration count 100: 100번 해시화 했다는 뜻 2024. 4. 19.