일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CTF
- 게임 개발
- Security
- 언리얼엔진
- Race condition
- STCF
- 메카님
- ret2libc
- DP
- MLFQ
- sampling theory
- DSP
- Unity #Indie Game
- frequency-domain spectrum analysis
- Rr
- 배경 그림
- 유스케이스
- 운영체제
- 유니티
- stride
- 게임개발
- AINCAA
- MAC
- pdlc
- dirty cow
- TSet
- dtft
- RBAC
- linear difference equation
- Double free
- Today
- Total
목록2024/12 (53)
다양한 기록
오브젝트나 연결된 오브젝트의 묶음(오브젝트 그래프)을 바이트 스트림으로 변환하는 과정- 복잡한 데이터를 일렬로 -> 직렬Serialization : 오브젝트 그래프 -> 바이트 스트림Deserialization : 바이트 스트림 -> 오브젝트 그래프 장점- 현재 프로그램 상태를 저장 및 복원 가능 (게임 저장)- 현재 객체 정보를 클립보드에 복사 -> 다른 프로그램에 전송 가능- 네트워크를 통해 현재 프로그램의 상태를 다른 컴퓨터에 복원 가능 (멀티게임)- 데이터 압축, 암호화를 통해 데이터를 효율적이고 안전하게 보관할 수도 있음 직접 구현?- 데이터 레이아웃 (오브젝트가 소유한 다양한 데이터를 변환?)- 이식성 (서로 다른 시스템 간)- 버전 관리 - 성능- 보안- 에러 처리쉽지 않음그냥 언리얼 엔진..
Linux, GOT overwriteELF파일의 다이나믹 링킹과 관련이 있는 내용이다. ELF는 리눅스에서 사용되는 파일 포맷이다. 이 ELF 파일에 .dynamic 섹션이 존재하는데, 여기서 다이나믹 링킹 관련 정보를 관리한다. 다이나믹 링킹 관점에서 보면, 보통 컴퓨터 과학에서 다이나믹(동적)이라는 단어가 나오면, 스태틱(정적)이라는 단어도 같이 나온다. 그리고 스태틱은 런타임 이전에 발생하는 일들에 대해 이야기할 때 쓰고, 다이나믹은 런타임에 발생하는 일들에 대하여 사용한다. 그리고 링킹의 경우는 여러 파일에 나눠진 코드를 하나의 실행 가능한 오브젝트 파일로 합치는 과정을 의미한다. 스태틱 링킹의 경우 실행 가능한 오브젝트 파일을 만드는 경우에, 사용하게 되는 라이브러리 함수들을 그냥 복사해서 가지..
1. UAF Use After Free는 동적 할당과 관련하여 나타난다. 말 그대로, malloc() 같은 함수로 할당해줬던 메모리를 free()로 반환한 다음에 그 메모리에 접근하는 경우 발생한다. CWE-416에 속하는데, 메모리를 해제한 이후에 참조하여 프로그램이 크래시되거나, 예상치 못한 값을 이용하게 되거나, 어떠한 코드의 실행을 야기시킬 수 있다. 실제로 코드를 작성해서 테스트해보면 이미 free된 메모리에 접근이 가능하다. 예를 들어, 이분 검색 트리에서 루트가 가리키는 값을 삭제하고자 했을 때, free만 하면 루트가 가리키는 포인터는 그대로라 문제가 발생할 수 있다. root = NULL; 과 같이 포인터가 가리키지 않도록 처리해야 의도된 결과를 얻을 수 있다. free한 메모리의 처리..
파라미터 위변조?파라미터는 어떠한 특정 값을 저장하여 서버로 전달하는 역할을 한다. 간단히 말해 일반적으로 프로그래밍 할 때 말하는 변수라고 할 수 있다. 그런데 파라미터 위변조에서는 서버로 전달되는 값 변수(파라미터)를 변조하여 서버측에서 이상한 값을 전달받아 악의적으로 동작시키는 공격이다. 완전히 같은 예시는 아니지만, C언어의 구조로 예시를 들면 함수를 콜하면 프로세스의 스택에 리턴 어드레스가 쌓일 것이다. 이것을 버퍼 오버플로우 공격으로 리턴 어드레스를 변조시켜 악의적으로 프로그램의 방향을 비틀 수 있을 것이다. 파라미터 위변조의 경우는 이와 비슷하게 행동에 영향을 미칠 수 있는 특정한 파라미터를 변조해서 공격자의 의도대로 프로그램이 작동되도록 만든다. 그러면 어떤 식으로 악용이 되는지 알아볼 수..
XSS?XSS(Cross-Site Script)란 공격자가 모종의 방법으로 대상이 보는 웹 페이지에 악성 스크립트를 심어놓는 것을 뜻한다. 예를 들어, XSS 대처가 되어 있는 않은 인터넷 게시판에 라는 내용으로 글을 쓰면 HTML 웹 페이지 내에 저 태그가 그대로 들어가서 그 글을 보는 사람에게 "XSS" 메시지를 띄울 것이다. 공격자가 심어놓은 코드가 다른 사람이 보는 웹 페이지에서 실행된 것이다. XSS에는 세 종류가 있다. Stored XSS, Reflected XSS, DOM-Based XSS 세 가지이다. Stored XSS는 게시판에 악성 코드가 심어진 글을 쓰는 예시처럼, 서버에 악성 코드가 Stored 되는 방식이다. 서버에서 저장되어 있는 웹 페이지를 다른 이용자가 요청하면 악성코드..
기본적으로 SQL 인젝션이 무엇인지에 대해 이해가 필요하다. 입력 폼을 받는 곳, 특히 로그인 폼에서 ID 혹은 패스워드를 입력하는 곳에 쿼리를 조작할 수 있게 입력을 하여 데이터베이스에 접근하는 방법이다. ID 입력 부분에 인젝션을 할 경우 [ " or userid = "admin" # ]으로 작성해서 관리자 아이디를 찾고, 비밀번호 입력은 무시하는 것이 가능하다. 비밀번호 입력 부분에 인젝션을 할 경우 [ " or "1" = "1 ]과 같은 방식으로 항상 참으로 만들어서 비밀번호가 틀려도 접근할 수 있게 만드는 것이 가능하다. 물론 양쪽으로 접근하는 것도 가능하다. ID에서 [ admin"/* ] 패스워드에서 [*/ and "1" = "1] 과 같이 중간에 " and password = 부분을 주..
https://github.com/Lagooneng/ConcurrentBST GitHub - Lagooneng/ConcurrentBST: Concurrent Binary Search TreeConcurrent Binary Search Tree. Contribute to Lagooneng/ConcurrentBST development by creating an account on GitHub.github.com싱글 스레드,Coarse-grained lock, Fine-grained lock (1, 2, 4, 8 스레드)에서 성능 분석* 삽입, 삽입-탐색, 삽입-탐색-삭제 세 가지 상황 존재 1. Lock Type(Non, Coarse, Fine)과 Thread 수에 따른 실행시간 비교 분석* 자세한 분석을..
https://github.com/Lagooneng/Scheduler GitHub - Lagooneng/Scheduler: Process Scheduling SimulatingProcess Scheduling Simulating. Contribute to Lagooneng/Scheduler development by creating an account on GitHub.github.com SPN, RR(q=1), RR(q=4), SRT, HRRN, MLFQ(q=1), MLFQ(q=2^i) 일 때 스케줄링을 구현 및 분석* Feedback == MLFQ 워크로드 AProcessArrival TimeService Time103226344465582Context Switching Time: 0.01 / 0.1..