본문 바로가기

전체 글53

6-4. Attribute-based access control (ABAC) 속성기반 접근제어라고도 하고, 정책기반 접근제어라고도 한다. 자원과 유저의 속성에 기반하여 접근 제어를 정의하는 방식이다.RBAC과의 차이점은, environment condition까지 고려하게 되었다는 점이다. 즉, subject, object, environment를 모두 고려하여 접근 제어 규칙을 만드는 방식이다. 그래서 이를 'fine-grained access control'이라고 부른다. DAC, MAC, RBAC의 범위를 포괄하고 있기 때문에, ABAC을 활용하여 이들을 구현할 수 있다.AttributeCharacteristics that define specific aspects of the subject, object, environment conditions, and/or reques.. 2024. 10. 24.
6-3. Role-Based Access Control (RBAC) DAC이나 MAC은 user ID와 접근권한의 관계를 정의한 것에 비해, RBAC은 role과 접근권한의 관계를 정의한다.DAC이나 MAC은 user-resource간의 직접 연결로 표현할 수 있었지만, RBAC은 user와 resource 사이에 role layer가 존재한다. 즉, user-role과 role-resource를 표현한, 2-layer 접근제어 방식이다.이 때, user-role 연결은 비교적 자주 변경되지만, role-resource의 연결성은 자주 변경되지 않는다는 특징을 가진다.RBAC에서 주로 (# user) > (# roles)이다.Access Control Matrixuser-object대신 role-object의 관계를 표시한다.Principle of Least Privil.. 2024. 10. 24.
6-2. Discretionary Access Control (DAC) DAC은, 유저 ID 및 그룹 ID에 기반한 접근 제어 방식이다.Access Control Matrixsubject X object로 이루어진 access matrix로 표현이 가능하다.그치만 유저-자원의 실제 권한 할당 모습을 생각해보면, access matrix는 굉장히 sparse하다. 모든 유저가 모든 파일에 대한 접근을 가지고 있는 시스템은 아예 matrix 자체가 필요 없을테고, 아닌 경우 결국 privileged 유저만이 접근할 수 있는 파일에 대해서는, 모든 일반 유저의 matrix 칸이 비어있을 것이기 때문이다.그래서 공간 효율성을 위해, access control list를 사용한다.Access Control ListAccess matrix를 column별로, 즉 object별로 어떤 .. 2024. 10. 23.
6-1. Access Control - basics Software system에서 access control이란, 누가 어떤 자원에 접근이 가능한지 정의하는 것을 말한다.넓은 의미: "security"라는 것 자체가 access control method이다.좁은 의미: 누구/무엇이 어떤 시스템 자원에 대한 접근 권한이 있는지, 접근 권한이 있다면 어디까지 접근이 허용되는지 등을 규정한 보안 규칙Access Control의 3요소Authentication: authorization 이후에 해당 유저가 어떤 권한을 가지는지에 따라 행동 범위를 제어하는 것.AuthorizationAudit: recording everythingAccess Control 종류DAC (Discretionary access control): access permission을 가.. 2024. 10. 23.
5. Authentication (1) 먼저, system authentication의 여러가지 방법을 소개한다.1) Login일반적으로 알고있는 패스워드 입력 방식이다. 이 때, 암호화된 키보드를 사용해 공격자가 실제로 어떤 key를 눌렀는지 알 수 없도록 하는 방식도 존재한다.2) Matrix Card결제 등 민감한 정보를 입력하기 전에 퀴즈를 풀도록 하는 방식이다.예를 들어, D3이 뭐냐? 라는 질문에 올바르게 대답해야만 정보를 입력할 수 있게 된다.3) One Time Password (OTP)위와 같이 생긴 하드웨어 장치이다. 숫자 왼쪽에 있는 bar는 잔여시간을 표시한 것이다. 카드처럼 생긴 OTP도 있음.2)번의 password matrix card보다 secure하다. 은행과 OTP장치는 동일한 clock을 공유한다. 그래서 일.. 2024. 10. 19.
NifTI, DICOM header 정보 읽어오기 의료 영상을 다루다 보면, 촬영날짜, 나이, 영상 reconstruction parameter 등 굉장히 많은 정보가 파일의 header에 저장되어 있음을 알 수 있다. 그래서 의료 영상 처리의 가장 기본 중 하나는 header 정보를 읽어오는 것이다. Axial slice 단위로 영상을 나누어 저장한 형태를 DICOM, 파일 하나에 전체 3D 정보를 담은 형태를 NifTI라고 하는데, 이 둘의 header 내용과 읽어오는 방식에 대해 설명하고자 한다. cf) Axial이란?          3D 영상의 수평면을 말한다. 즉, 우리가 흔히 생각하는 z축에 수직인 방향으로 영상을 잘랐을 때 보이는 면을 axial plane이라고 한다. Sagittal과 Coronal 방향도 존재하는데, 이들은 축에 비유하.. 2024. 7. 23.
Message Authentication Code (MAC) Message Authentication Code쉽게 말해 데이터가 변조되었는지를 확인하기 위해 원본 msg에 덧붙이는 code이다. 그래서 cryptographic checksum이라고도 불린다. Digital Signature와 비슷한 원리로, sender는 보내려는 msg에 MAC을 concatenate 후 receiver에게 전달한다. Receiver는 msg에 동일한 연산을 적용한 후 얻은 결과값이 받은 MAC값과 동일하면, msg가 변조되지 않았으며 예상한 sender로부터 왔다는 것을 알 수 있다.  MAC Properties- Digital Signature와 다른 점은, 생성될 때 secret key를 사용한다는 점이다. msg와 secret key가 MAC 생성 함수 C의 input으로.. 2024. 6. 11.
The Onion Router (TOR) BackgroundTLS(Transport Layer Security)는 IP header를 암호화하지 않는다. 만약 TLS가 header를 암호화한다면, header 정보를 탈취하려는 중간자 공격을 막을 수 있어 좋아보이기도 한다.하지만 IP header를 암호화해버리면, Network Layer에서 routing 시에 destination IP address로 패킷을 전달할 수 없게 된다. Router가 해당 packet을 어디로 전달할지에 대한 정보가 header에 있기 때문이다. 그러면 router에게 IP packet의 header를 공개하는 것이 불가피한 상황에서, 어떻게 하면 중간자 공격으로부터 자유로울 수 있을까? Linkability Issue만약 TLS 차원에서 데이터를 암호화한 후, .. 2024. 6. 10.
Data Management Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. Common Data Management Path for Deep Learning 딥러닝 과정 중에는 가지고 있는 데이터를 GPU 옆의 local filesystem에 옮기는 작업이 필요하다. 데이터를 train가능한 형태로 옮기는 방법은 프로젝트나 회사마다 다르다. 예를 들면: train your images on ImageNet, and all the images are just S3 URLs -> simply download them over to the local filesystem. a bunch of text files -> use Spark to process them on a cluster and Pandas da.. 2023. 2. 15.
MLOps Infrastructure & Tooling Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. 📌3 Buckets of ML Infrastructure & Tooling Landscape Data -Sources -Data Lake/Warehouse -Processing -Exploration -Versioning -Labeling Training/Evaluation - Compute -Resource Management -Software Engineering -Frameworks & Distributed Training -Experiment Management -Hyperparameter Tuning Deployment -CI/Testing -Edge(mobile/robotic hardware) -Web -Monitor.. 2023. 2. 15.
Transformers Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. 📌Transfer Learning in Computer Vision Resnet-50와 같은 deep neural network(NN)들은 성능이 좋긴함. But they are so large that it overfits on our small data. Solution: ImageNet을 사용해 NN을 train한 후 fine-tuning하기 Result: better performance! Fine-tuning model: ImageNet을 사용해 모델을 학습시킨 후 마지막 몇 개의 layer만 다른 것으로 replace. Tensorflow와 Pytorch로 쉽게 구현 가능. 📌Embeddings and Language.. 2023. 2. 15.
RNNs Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. 📌Sequence Problems Sequence Problem 종류 - one-to-many: input -> single value, output -> sequence인 경우 - many-to-one: input -> sequence, output -> single value인 경우 -many-to-many: input -> sequence, output -> sequence인 경우 Sequence Problem 예시 Why not use feedforward networks instead? Problem 1: Variable Length Inputs 모든 sequence에 padding을 추가해 max length와 동일한.. 2023. 2. 15.
Computer Vision Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. 📌AlexNet Deep layer with 8 layers First convnet winner Innovated with ReLU and Dropout Dropout: some set of weights are set to zero randomly in training Heavy data augmentation(flip, scale, etc) Fun fact: usually drawn as two parts, because the biggest GPU only had 3GB memory at the time 그래서 model distributed training을 했어야 했다. (model이 두개의 다른 GPU에 위치한 상태.. 2023. 2. 15.
Deep Learning Fundamentals Full Stack Deep Learning 강의를 듣고 정리한 내용입니다. Neural Networks 📌Biological Neurons 외부의 자극이 dentrites를 통해 들어옴 ->역치를 넘어서면 firing함(axon을 통해 electrical potential전달) 📌Artificial Neuron input x: biological neuron에서 외부의 자극에 해당 weight w: 자극에 대해 얼마나 영향을 받는지 조정 b: bias activation function: (=threshold function) sum값이 역치를 넘어서면 on, 아니면 off 📌Common Activation Function Sigmoid Function Hyperbolic Tangent Rectifie.. 2023. 2. 15.
[바킹독 실전 알고리즘 0x0B] 재귀 알고리즘 설명 재귀: 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘 다음과 같이 간단한 재귀 함수 코드를 생각해볼 수 있다. void func(int n){ if(n == 0) return; cout 2023. 2. 12.