분류 전체보기 136

[행정법의 관념] 행정에 관한 법, 공법/사법의 구별, 법치행정의 원리

행정에 관한 법✅행정조직법국가, 공공단체 등의 행정주체의 기관의 설치, 권한, 기관 상호간의 관계✅행정작용법국가, 공공단체 등의 행정주체가 공익을 실현하기 위한 행정의 행위형식 ✅행정구제법위법, 부당한 작용으로 인해 권익침해를 주장하는 사인의 권리구제. - 행정상 손해전보 & 행정쟁송. 공법/사법의 구별 공법/사법 구별의 필요성✅재판관할과 소송절차의 기준 사법관계에 대한 분쟁: 민사소송 공법관계에 대한 분쟁: 행정소송✅적용법리의 결정 사법 - 개인 의사의 자율성 존중됨 공법 - 공익 실현을 위해 행정주체에게 일방적으로 강제하고 명령하는 우월적 지위 인정✅행정강제 및 소멸시효 행정상의 의무 위반 -> 행정주체가 직접 행정강제수단을 통해 의무이행을 확보할 수 있음BUT 사법상의 의..

2024.04.01

[행정법 서론] 행정의 개념, 통치행위, 행정의 분류

행정의 개념 형식적 의미 제도/형식적 개념으로서, 권력분립을 바탕으로 입법/사법/행정권 중 행정권이 행하는 국가작용 - BUT 입법/사법작용을 하기도 함 실질적 의미 ✅긍정설 소극설 국가작용 중, 입법/사법을 제외한 나머지가 행정이다. 적극설 목적실현설 행정은 국가의 법질서 아래 국가목적을 실현하기 위해 행하는 작용이다. 양태설 행정은 법률 범위 내에서 법에 의거해 행해지는 장래에 대한 계속적인 사회형성활동이다.. ✅부정설 법단계설 법학은 근본규범->헌법->법률->명령으로 개별/구체화되는 과정만을 연구대상으로 한다. 모든 국가작용은 결국 법단계의 구체화과정이므로, 여기엔 법 정립/선언/집행의 성질을 아울러 가지고 있어, 입법/사법/행정의 구별이 없다. 통치행위 - 재판 통제에서 제외됨 - 법치주의 적용 ..

2024.04.01

[Thread] 스레드 사용의 목적, 스레드 vs 프로세스, 스레드의 자원, 스레드 API

💡스레드란 ✅목적 프로세스 간에는 서로의 데이터를 읽을 수 없다. 반면, 스레드끼리는 공유된 메모리를 통해 적은 비용의 커뮤니케이션이 가능하다. 이러한 스레드의 사용으로써, - 리소스가 절약된다. - 여러 request가 감당 가능해진다. - Input/Output 작동과 computation 작동이 동시에 일어날 수 있다. - context switching의 비용이 비교적 덜 든다. - multiprocessor에 더 잘 매핑된다. ✅스레드는 "함수"의 형태로 instruction stream을 실행한다. ✅Process vs. Thread 아래는 한 프로세스에 여러 스레드가 있는 예시이다. 반면 아래는 "프로세스"가 두 개인 것이고, 스레드는 활용되지 않았다. 💡스레드와 Address space 각..

[Process] Process의 개념, Address Space, State, Context switch, API

💡프로세스란 Program: 실행 파일. 코드와 데이터로 이루어져 있음. Process: program의 실행 중인 instance. 💡프로세스의 Address Space (Memory Layout) 모든 각각의 프로세스는 아래와 같이 자신만의 가상 메모리 주소 공간을 가진다. stack: 지역 변수 heap: 동적 할당된 변수 BSS: 초기화되지 않은 정적 변수 data: 초기화된 정적 변수 text: 프로그램 코드 💡프로세스 스케줄링 CPU 안에는 core가 있는데, 이 코어라는 것은 엄밀하게는 한 순간에 하나의 프로세스만을 다룰 수 있으므로, 여러 개의 프로세스가 (거의) 동시에 돌아가기 위해서는 교통정리, 즉 스케줄링이 필요하다. 프로세스의 state ✅New 새 프로세스가 생성되었지만, 아직 운..

[SetUID] 임시적 권한 상승과 이로 인한 취약점

Mode 먼저 파일이나 디렉토리에 대한 권한을 이해해보자. User: 파일의 소유자 Group: 한 Group에 속한 다수의 User는 동일한 permission을 가질 수 있다. 특정 파일에 대한 동일한 접근 권한을 여러 User에게 줘야 하는 경우 Group을 활용하면 효율적이다. Other: User나 Group에 속하지 않는 모든 User SetUID의 개념 필요성 예를 들어 /usr/bin/passwd (계정의 비밀번호를 변경하는 명령어 실행파일)의 경우, /etc/shadow 파일에 접근하여 비밀번호를 변경한다. 이 passwd 실행파일을 소유자인 root 이외의 사용자가 실행할 경우, 이 사용자는 /etc/shadow(root만 접근 가능함)에 대한 접근 권한이 없기 때문에 오류가 발생하여,..

IT/시스템 보안 2024.03.27

[개인정보보호법] 개인정보, 정보주체, 개인정보처리자, 개인정보처리방침, 개인정보 수집단계의 법적 보호

개인정보 "살아 있는" "특정 개인"을 "알아볼 수 있는" 정보. - 성명, 주민등록번호, 신체, 정신, 재산상, 사회적 등의 정보 - 가명정보도 포함됨 유사 개념들? ✅민감정보 및 고유식별정보 - 사상·신념, 조합이나 정당, 정치적 견해, 건강, 성생활, 유전정보, 범죄 이력 등 - 개인을 고유하게 구별하기 위하여 부여된 식별정보(주민등록번호, 여권번호, 운전면허번호, 외국인등록 번호) ✅비밀정보 ➢ "비밀": 타인에게 알려지지 않은 사실 또는 제한된 사람에게만 알려진 사실(비공개성). 타인에게 알려지지 않는 것이 본인에게 이익이 되는 사실을 의미(실질비성) ➢비밀정보는 공개된 개인정보보다 두터운 법적 보호를 받게 됨 ✅행태정보 및 평가정보 ➢ 일반 소비자의 소비행태 → 개인정보 X / 특정 소비자의 ..

2024.03.25

[System Hacking] basic_rop_x64

스택 프레임 분석 Return address (0x8) SFP (0x8) buf [rbp-0x40] (0x40) 공격 계획 최종 목표: system("/bin/sh") 수행할 것. * system() 주소 구하기 = lib_base + system_offset ** lib_base 구하기 = read() 주소 - read_offset *** read() 주소 구하기 ROP를 통해, write(1, read@got, ...) * "/bin/sh" 주소 구하기 = lib_base + binsh_offset ** system_offset, read_offset, binsh_offset 구하기 libc를 이용 * Return address를 system("/bin/sh")로 Overwrite ROP를 이용 ex..

IT/Wargame 2024.03.19

[인터넷 거버넌스] ICANN, UDRP, 인터넷주소자원에관한법률

ICANN ICANN은 인터넷의 주요 기술적 자원의 관리를 담당하는 비영리 단체이다. 전 세계 DNS의 중앙 데이터베이스를 관리하고, 도메인 네임과 IP 주소가 서로 매핑될 수 있도록 하며, IP 주소 공간을 할당하고 관리한다. 이외에도 인터넷의 다양한 기술적 규약과 프로토콜 파라미터를 설정, 관리할 수 있다. 이로써 인터넷의 안정성 / 보안 / 상호 운영성을 유지한다. ✅운영 방식 정부와 전문가, 인터넷 사용자 등 여러 이해 관계자 그룹으로부터 구성된 Multistakeholder 모델을 기반으로 운영된다. ICANN의 운영 근거는 주로 미국 정부와의 계약 및 협약에 기반을 두고 있었으나, 2016년 10월 ICANN의 운영이 글로벌 인터넷 커뮤니티로 이전되면서, 더욱 다양한 글로벌 이해관계자들의 참여..

2024.03.19

[Return Oriented Programming]

사용 배경과 목적 system 함수를 활용해 셸을 획득하고자 system 함수의 주소를 알고싶은데,프로그램에서 이 함수가 활용되지 않고, 심지어 ASLR 기법이 적용돼 있는 바람에 바이너리가 실행될 때마다 스택, 힙, 공유 라이브러리 등의 주소가 바뀐다면,우리는 좀더 먼길을 돌아 주소를 얻어야 한다.: 프로세스에서 libc가 매핑된 주소를 찾은 뒤,이 주소로부터 system 함수까지의 offset을 구해서,최종적으로 system 함수의 주소를 얻기 libc.so.6 라이브러리에는 system 함수 뿐 아니라 이 바이너리가 호출하는 read, puts, printf도 정의되어 있는데,라이브러리 파일은 메모리에 매핑될 때 전체가 매핑되므로, read, puts, printf 뿐만 아니라 system 함수도 ..

IT/시스템 보안 2024.03.15

[Return to Library]

이론  사용 배경과 목적  NX를 우회하여 실행 흐름을 조작하는 것이 RTL의 목적입니다.   NX가 적용되지 않은 경우:어떤 메모리 영역 (eg. 스택 영역)에 쓰기 권한과 실행 권한이 함께 있음 -> 셸코드 주입하여 Return address를 덮어 실행 흐름 조작 가능NX가 적용된 경우:실행될 때 각 메모리 영역에 필요한 권한만을 부여받음-> 일반적으로 셸코드가 주입되었던 위치인 스택 영역이 이젠 실행 권한이 없으므로, 위 방법이 불가해짐따라서, 우리가 직접 주입한 셸코드나, 바이너리에 존재하는 함수는 이젠 활용할 수 없게 됐으니 다른 방식을 찾아봐야 합니다.   원리  리턴 가젯을 활용하여 공유 라이브러리에 있는 함수를 호출하면 NX를 우회할 수 있습니다!  예를 들어, 우리가 현재의 실행 흐름을..

IT/시스템 보안 2024.03.12