Logo Zephyrnet

Xác định các điểm bất thường về an ninh mạng trong dữ liệu Amazon Security Lake của bạn bằng Amazon SageMaker | Dịch vụ web của Amazon

Ngày:

Khách hàng đang phải đối mặt với các mối đe dọa và lỗ hổng bảo mật ngày càng tăng trên cơ sở hạ tầng và tài nguyên ứng dụng khi dấu ấn kỹ thuật số của họ ngày càng mở rộng và tác động kinh doanh của những tài sản kỹ thuật số đó ngày càng tăng. Một thách thức an ninh mạng phổ biến có hai mặt:

  • Sử dụng nhật ký từ các tài nguyên kỹ thuật số có định dạng và lược đồ khác nhau, đồng thời tự động hóa việc phân tích phát hiện mối đe dọa dựa trên các nhật ký đó.
  • Cho dù nhật ký đến từ Amazon Web Services (AWS), nhà cung cấp đám mây khác, tại chỗ hay thiết bị biên, khách hàng đều cần tập trung và chuẩn hóa dữ liệu bảo mật.

Hơn nữa, các phân tích để xác định các mối đe dọa bảo mật phải có khả năng mở rộng và phát triển để đáp ứng bối cảnh thay đổi của các tác nhân đe dọa, vectơ bảo mật và tài sản kỹ thuật số.

Một cách tiếp cận mới để giải quyết tình huống phân tích bảo mật phức tạp này kết hợp việc nhập và lưu trữ dữ liệu bảo mật bằng cách sử dụng Hồ bảo mật Amazon và phân tích dữ liệu bảo mật bằng máy học (ML) bằng cách sử dụng Amazon SageMaker. Amazon Security Lake là một dịch vụ được xây dựng có mục đích, tự động tập trung dữ liệu bảo mật của tổ chức từ các nguồn đám mây và tại chỗ vào một hồ dữ liệu được xây dựng có mục đích được lưu trữ trong tài khoản AWS của bạn. Amazon Security Lake tự động hóa việc quản lý tập trung dữ liệu bảo mật, chuẩn hóa nhật ký từ các dịch vụ AWS tích hợp và dịch vụ của bên thứ ba, đồng thời quản lý vòng đời của dữ liệu với khả năng lưu giữ có thể tùy chỉnh, đồng thời cũng tự động hóa việc phân tầng lưu trữ. Amazon Security Lake nhập các tệp nhật ký vào Mở khung lược đồ an ninh mạng (OCSF), với sự hỗ trợ dành cho các đối tác như Cisco Security, CrowdStrike, Palo Alto Networks và nhật ký OCSF từ các tài nguyên bên ngoài môi trường AWS của bạn. Lược đồ hợp nhất này hợp lý hóa việc sử dụng và phân tích xuôi dòng vì dữ liệu tuân theo lược đồ được tiêu chuẩn hóa và các nguồn mới có thể được thêm vào với những thay đổi tối thiểu về đường dẫn dữ liệu. Sau khi dữ liệu nhật ký bảo mật được lưu trữ trong Amazon Security Lake, câu hỏi đặt ra là làm thế nào để phân tích dữ liệu đó. Một cách tiếp cận hiệu quả để phân tích dữ liệu nhật ký bảo mật là sử dụng ML; cụ thể là phát hiện bất thường, kiểm tra dữ liệu hoạt động và lưu lượng truy cập và so sánh nó với đường cơ sở. Đường cơ sở xác định hoạt động nào là bình thường về mặt thống kê đối với môi trường đó. Khả năng phát hiện bất thường có quy mô vượt ra ngoài dấu hiệu sự kiện riêng lẻ và nó có thể phát triển bằng việc đào tạo lại định kỳ; Sau đó, lưu lượng truy cập được phân loại là bất thường hoặc bất thường có thể được xử lý với trọng tâm và mức độ khẩn cấp được ưu tiên. Amazon SageMaker là dịch vụ được quản lý toàn phần cho phép khách hàng chuẩn bị dữ liệu, xây dựng, đào tạo và triển khai mô hình ML cho mọi trường hợp sử dụng với cơ sở hạ tầng, công cụ và quy trình làm việc được quản lý toàn phần, bao gồm cả các dịch vụ không cần mã dành cho nhà phân tích kinh doanh. SageMaker hỗ trợ hai thuật toán phát hiện bất thường tích hợp: Thông tin chi tiết về IPRừng chặt ngẫu nhiên. Bạn cũng có thể sử dụng SageMaker để tạo mô hình phát hiện ngoại lệ tùy chỉnh của riêng mình bằng cách sử dụng thuật toán có nguồn gốc từ nhiều khung ML.

Trong bài đăng này, bạn tìm hiểu cách chuẩn bị dữ liệu có nguồn gốc từ Amazon Security Lake, sau đó đào tạo và triển khai mô hình ML bằng thuật toán IP Insights trong SageMaker. Mô hình này xác định lưu lượng truy cập mạng hoặc hành vi bất thường mà sau đó có thể được coi là một phần của giải pháp bảo mật đầu cuối lớn hơn. Giải pháp như vậy có thể thực hiện kiểm tra xác thực đa yếu tố (MFA) xem người dùng có đang đăng nhập từ một máy chủ bất thường hay vào thời điểm bất thường hay không, thông báo cho nhân viên nếu có lượt quét mạng đáng ngờ đến từ địa chỉ IP mới, cảnh báo cho quản trị viên nếu mạng bất thường các giao thức hoặc cổng được sử dụng hoặc làm phong phú thêm kết quả phân loại thông tin chi tiết về IP bằng các nguồn dữ liệu khác như nhiệm vụ bảo vệ amazon và điểm danh tiếng IP để xếp hạng các phát hiện về mối đe dọa.

Tổng quan về giải pháp

Kiến trúc giải pháp IPInsights của Amazon Security Lake SageMaker IPInsights

Hình 1 – Kiến trúc giải pháp

  1. Kích hoạt Amazon Security Lake với Tổ chức AWS dành cho tài khoản AWS, Khu vực AWS và môi trường CNTT bên ngoài.
  2. Thiết lập nguồn Security Lake từ Đám mây riêng ảo Amazon (Amazon VPC) Nhật ký dòng chảy và Tuyến đường Amazon53 Nhật ký DNS vào bộ chứa Amazon Security Lake S3.
  3. Xử lý dữ liệu nhật ký của Amazon Security Lake bằng công việc Xử lý SageMaker để thiết kế các tính năng. Sử dụng amazon Athena để truy vấn dữ liệu nhật ký OCSF có cấu trúc từ Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) thông qua Keo AWS các bảng do AWS LakeFormation quản lý.
  4. Huấn luyện mô hình SageMaker ML bằng cách sử dụng công việc Đào tạo SageMaker sử dụng nhật ký Amazon Security Lake đã xử lý.
  5. Triển khai mô hình ML đã đào tạo tới điểm cuối suy luận SageMaker.
  6. Lưu trữ nhật ký bảo mật mới trong bộ chứa S3 và xếp hàng các sự kiện trong Dịch vụ xếp hàng đơn giản của Amazon (Amazon SQS).
  7. Đăng ký một AWS Lambda chức năng vào hàng đợi SQS.
  8. Gọi điểm cuối suy luận SageMaker bằng hàm Lambda để phân loại nhật ký bảo mật là bất thường trong thời gian thực.

Điều kiện tiên quyết

Để triển khai giải pháp, trước tiên bạn phải hoàn thành các điều kiện tiên quyết sau:

  1. Kích hoạt Amazon Security Lake trong tổ chức của bạn hoặc một tài khoản đã bật cả Nhật ký luồng VPC và nhật ký trình phân giải Tuyến 53.
  2. Đảm bảo rằng Quản lý truy cập và nhận dạng AWS (IAM) vai trò được sử dụng bởi các công việc xử lý và sổ ghi chép của SageMaker đã được cấp chính sách IAM bao gồm Quyền truy cập truy vấn của người đăng ký Amazon Security Lake dành cho cơ sở dữ liệu kho Amazon Security được quản lý và các bảng do AWS Lake Formation quản lý. Công việc xử lý này phải được chạy từ bên trong tài khoản công cụ phân tích hoặc bảo mật để duy trì tuân thủ Kiến trúc tham chiếu bảo mật AWS (AWS SRA).
  3. Đảm bảo rằng vai trò IAM mà hàm Lambda sử dụng đã được cấp chính sách IAM bao gồm Quyền truy cập dữ liệu của người đăng ký Amazon Security Lake.

Triển khai giải pháp

Để thiết lập môi trường, hãy hoàn thành các bước sau:

  1. Khởi chạy một Studio SageMaker hoặc sổ ghi chép SageMaker Jupyter có ml.m5.large ví dụ. Lưu ý: Kích thước phiên bản phụ thuộc vào bộ dữ liệu bạn sử dụng.
  2. Sao chép GitHub kho.
  3. Mở sổ tay 01_ipinsights/01-01.amazon-securitylake-sagemaker-ipinsights.ipy.
  4. Thực hiện đã cung cấp chính sách IAM và chính sách tin cậy IAM tương ứng để phiên bản SageMaker Studio Notebook của bạn truy cập tất cả dữ liệu cần thiết trong S3, Lake Formation và Athena.

Blog này sẽ giới thiệu phần mã có liên quan trong sổ ghi chép sau khi nó được triển khai trong môi trường của bạn.

Cài đặt các phụ thuộc và nhập thư viện cần thiết

Sử dụng mã sau đây để cài đặt các phần phụ thuộc, nhập các thư viện cần thiết và tạo nhóm SageMaker S3 cần thiết cho việc xử lý dữ liệu và đào tạo mô hình. Một trong những thư viện cần thiết awswrangler, là một AWS SDK cho khung dữ liệu gấu trúc được sử dụng để truy vấn các bảng có liên quan trong Danh mục dữ liệu AWS Glue và lưu trữ kết quả cục bộ trong khung dữ liệu.

import boto3
import botocore
import os
import sagemaker
import pandas as pd

%conda install openjdk -y
%pip install pyspark 
%pip install sagemaker_pyspark

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession

bucket = sagemaker.Session().default_bucket()
prefix = "sagemaker/ipinsights-vpcflowlogs"
execution_role = sagemaker.get_execution_role()
region = boto3.Session().region_name
seclakeregion = region.replace("-","_")
# check if the bucket exists
try:
    boto3.Session().client("s3").head_bucket(Bucket=bucket)
except botocore.exceptions.ParamValidationError as e:
    print("Missing S3 bucket or invalid S3 Bucket")
except botocore.exceptions.ClientError as e:
    if e.response["Error"]["Code"] == "403":
        print(f"You don't have permission to access the bucket, {bucket}.")
    elif e.response["Error"]["Code"] == "404":
        print(f"Your bucket, {bucket}, doesn't exist!")
    else:
        raise
else:
    print(f"Training input/output will be stored in: s3://{bucket}/{prefix}")

Truy vấn bảng nhật ký luồng VPC của Amazon Security Lake

Phần mã này sử dụng AWS SDK dành cho gấu trúc để truy vấn bảng AWS Glue liên quan đến Nhật ký luồng VPC. Như đã đề cập trong phần điều kiện tiên quyết, các bảng của Amazon Security Lake được quản lý bởi Sự hình thành hồ AWS, vì vậy tất cả các quyền thích hợp phải được cấp cho vai trò được sử dụng bởi sổ ghi chép SageMaker. Truy vấn này sẽ lấy lưu lượng truy cập nhật ký luồng VPC trong nhiều ngày. Tập dữ liệu được sử dụng trong quá trình phát triển blog này rất nhỏ. Tùy thuộc vào quy mô trường hợp sử dụng của bạn, bạn nên biết các giới hạn của AWS SDK dành cho gấu trúc. Khi xem xét quy mô terabyte, bạn nên xem xét hỗ trợ AWS SDK dành cho gấu trúc cho sửa đổi.

ocsf_df = wr.athena.read_sql_query("SELECT src_endpoint.instance_uid as instance_id, src_endpoint.ip as sourceip FROM amazon_security_lake_table_"+seclakeregion+"_vpc_flow_1_0 WHERE src_endpoint.ip IS NOT NULL AND src_endpoint.instance_uid IS NOT NULL AND src_endpoint.instance_uid != '-' AND src_endpoint.ip != '-'", database="amazon_security_lake_glue_db_us_east_1", 
ctas_approach=False, 
unload_approach=True, 
s3_output=f"s3://{bucket}/unload/parquet/updated") 
ocsf_df.head()

Khi xem khung dữ liệu, bạn sẽ thấy đầu ra của một cột với các trường chung có thể tìm thấy trong Hoạt động mạng (4001) lớp của OCSF.

Chuẩn hóa dữ liệu nhật ký luồng VPC của Amazon Security Lake thành định dạng đào tạo bắt buộc cho IP Insights.

Thuật toán IP Insights yêu cầu dữ liệu đào tạo phải ở định dạng CSV và chứa hai cột. Cột đầu tiên phải là một chuỗi mờ tương ứng với mã định danh duy nhất của thực thể. Cột thứ hai phải là địa chỉ IPv4 của sự kiện truy cập của thực thể ở dạng dấu chấm thập phân. Trong tập dữ liệu mẫu cho blog này, mã định danh duy nhất là ID phiên bản của các phiên bản EC2 được liên kết với instance_id giá trị trong dataframe. Địa chỉ IPv4 sẽ được lấy từ src_endpoint. Dựa trên cách tạo truy vấn Amazon Athena, dữ liệu đã nhập đã có định dạng chính xác để đào tạo mô hình IP Insights, do đó không cần kỹ thuật tính năng bổ sung. Nếu bạn sửa đổi truy vấn theo cách khác, bạn có thể cần phải kết hợp kỹ thuật tính năng bổ sung.

Truy vấn và chuẩn hóa bảng nhật ký trình phân giải Amazon Security Lake Route 53

Giống như bạn đã làm ở trên, bước tiếp theo của sổ ghi chép sẽ chạy một truy vấn tương tự đối với bảng trình phân giải Amazon Security Lake Route 53. Vì bạn sẽ sử dụng tất cả dữ liệu tuân thủ OCSF trong sổ tay này nên mọi tác vụ kỹ thuật tính năng vẫn giữ nguyên đối với nhật ký của trình phân giải Tuyến 53 giống như đối với Nhật ký luồng VPC. Sau đó, bạn kết hợp hai khung dữ liệu thành một khung dữ liệu duy nhất được sử dụng để huấn luyện. Vì truy vấn Amazon Athena tải dữ liệu cục bộ theo đúng định dạng nên không cần thêm kỹ thuật tính năng.

ocsf_rt_53_df = wr.athena.read_sql_query("SELECT src_endpoint.instance_uid as instance_id, src_endpoint.ip as sourceip FROM amazon_security_lake_table_"+seclakeregion+"_route53_1_0 WHERE src_endpoint.ip IS NOT NULL AND src_endpoint.instance_uid IS NOT NULL AND src_endpoint.instance_uid != '-' AND src_endpoint.ip != '-'", database="amazon_security_lake_glue_db_us_east_1", 
ctas_approach=False, 
unload_approach=True, 
s3_output=f"s3://{bucket}/unload/rt53parquet")
ocsf_rt_53_df.head()
ocsf_complete = pd.concat([ocsf_df, ocsf_rt_53_df], ignore_index=True)

Nhận hình ảnh đào tạo IP Insights và đào tạo mô hình bằng dữ liệu OCSF

Trong phần tiếp theo của sổ tay này, bạn huấn luyện mô hình ML dựa trên thuật toán IP Insights và sử dụng thuật toán tổng hợp dataframe OCSF từ các loại nhật ký khác nhau. Bạn có thể tìm thấy danh sách các siêu phân tích IP Insights tại đây. Trong ví dụ bên dưới, chúng tôi đã chọn các siêu tham số cho ra mô hình hoạt động tốt nhất, ví dụ: 5 cho epoch và 128 cho vector_dim. Do tập dữ liệu huấn luyện cho mẫu của chúng tôi tương đối nhỏ nên chúng tôi đã sử dụng một ml.m5.large ví dụ. Siêu tham số và cấu hình đào tạo của bạn như số lượng phiên bản và loại phiên bản phải được chọn dựa trên số liệu khách quan và kích thước dữ liệu đào tạo của bạn. Một khả năng mà bạn có thể sử dụng trong Amazon SageMaker để tìm phiên bản tốt nhất cho mô hình của mình là Amazon SageMaker điều chỉnh mô hình tự động tìm kiếm mô hình tốt nhất trên một loạt các giá trị siêu tham số.

training_path = f"s3://{bucket}/{prefix}/training/training_input.csv"
wr.s3.to_csv(ocsf_complete, training_path, header=False, index=False)
from sagemaker.amazon.amazon_estimator 
import image_uris

image = sagemaker.image_uris.get_training_image_uri(boto3.Session().region_name,"ipinsights")

ip_insights = sagemaker.estimator.Estimator(image,execution_role,
instance_count=1,
instance_type="ml.m5.large",
output_path=f"s3://{bucket}/{prefix}/output",
sagemaker_session=sagemaker.Session())
ip_insights.set_hyperparameters(num_entity_vectors="20000",
random_negative_sampling_rate="5",
vector_dim="128",
mini_batch_size="1000",
epochs="5",learning_rate="0.01")

input_data = { "train": sagemaker.session.s3_input(training_path, content_type="text/csv")}
ip_insights.fit(input_data)

Triển khai mô hình đã huấn luyện và thử nghiệm với lưu lượng truy cập hợp lệ và bất thường

Sau khi đào tạo mô hình, bạn triển khai mô hình đến điểm cuối SageMaker và gửi một loạt kết hợp mã định danh và địa chỉ IPv4 duy nhất để kiểm tra mô hình của bạn. Phần mã này giả định rằng bạn đã lưu dữ liệu thử nghiệm trong bộ chứa S3 của mình. Dữ liệu thử nghiệm là tệp .csv, trong đó cột đầu tiên là id phiên bản và cột thứ hai là IP. Nên kiểm tra dữ liệu hợp lệ và không hợp lệ để xem kết quả của mô hình. Đoạn mã sau triển khai điểm cuối của bạn.

predictor = ip_insights.deploy(initial_instance_count=1, instance_type="ml.m5.large")
print(f"Endpoint name: {predictor.endpoint}")

Giờ đây, điểm cuối của bạn đã được triển khai, giờ đây bạn có thể gửi yêu cầu suy luận để xác định xem lưu lượng truy cập có khả năng bất thường hay không. Dưới đây là mẫu dữ liệu được định dạng của bạn sẽ trông như thế nào. Trong trường hợp này, mã định danh cột đầu tiên là id phiên bản và cột thứ hai là địa chỉ IP được liên kết như sau:

i-0dee580a031e28c14,10.0.2.125
i-05891769c3b7b2879,10.0.3.238
i-0dee580a031e28c14,10.0.2.145
i-05891769c3b7b2879,10.0.10.11

Sau khi có dữ liệu ở định dạng CSV, bạn có thể gửi dữ liệu để suy luận bằng mã bằng cách đọc tệp .csv từ bộ chứa S3.:

inference_df = wr.s3.read_csv('s3://{bucket}/{prefix}/inference/testdata.csv')

import io
from io import StringIO

csv_file = io.StringIO()
inference_csv = inference_df.to_csv(csv_file, sep=",", header=True, index=False)
inference_payload = csv_file.getvalue()
print(inference_payload)
response = predictor.predict(
inference_payload,
initial_args={"ContentType":'text/csv'})
print(response)

b'{"predictions": [{"dot_product": 1.2591100931167603}, {"dot_product": 0.97600919008255}, {"dot_product": -3.638532876968384}, {"dot_product": -6.778188705444336}]}'

Đầu ra của mô hình IP Insights cung cấp thước đo về mức độ mong đợi về mặt thống kê của địa chỉ IP và tài nguyên trực tuyến. Tuy nhiên, phạm vi cho địa chỉ và tài nguyên này là không giới hạn, do đó, cần cân nhắc về cách bạn xác định xem liệu sự kết hợp giữa ID phiên bản và địa chỉ IP có được coi là bất thường hay không.

Trong ví dụ trước, bốn kết hợp mã định danh và IP khác nhau đã được gửi tới mô hình. Hai kết hợp đầu tiên là các kết hợp ID phiên bản và địa chỉ IP hợp lệ được mong đợi dựa trên tập huấn luyện. Sự kết hợp thứ ba có mã định danh duy nhất chính xác nhưng có địa chỉ IP khác trong cùng một mạng con. Mô hình phải xác định rằng có một sự bất thường nhỏ vì việc nhúng hơi khác so với dữ liệu huấn luyện. Sự kết hợp thứ tư có mã định danh duy nhất hợp lệ nhưng địa chỉ IP của mạng con không tồn tại trong bất kỳ VPC nào trong môi trường.

Lưu ý: Dữ liệu lưu lượng truy cập bình thường và bất thường sẽ thay đổi dựa trên trường hợp sử dụng cụ thể của bạn, ví dụ: nếu bạn muốn giám sát lưu lượng truy cập bên ngoài và nội bộ, bạn sẽ cần một mã định danh duy nhất được căn chỉnh cho từng địa chỉ IP và sơ đồ tạo mã định danh bên ngoài.

Để xác định ngưỡng của bạn là gì để xác định xem lưu lượng truy cập có bất thường hay không có thể được thực hiện bằng cách sử dụng lưu lượng truy cập bình thường và bất thường đã biết. Các bước được nêu trong cuốn sổ mẫu này như sau:

  1. Xây dựng một bộ kiểm tra để thể hiện lưu lượng truy cập bình thường.
  2. Thêm lưu lượng truy cập bất thường vào tập dữ liệu.
  3. Vẽ đồ thị phân bố của dot_product điểm cho mô hình về giao thông bình thường và giao thông bất thường.
  4. Chọn một giá trị ngưỡng để phân biệt tập hợp con bình thường với tập hợp con bất thường. Giá trị này dựa trên dung sai dương tính giả của bạn

Thiết lập giám sát liên tục lưu lượng nhật ký luồng VPC mới.

Để chứng minh cách mô hình ML mới này có thể được sử dụng với Amazon Security Lake một cách chủ động, chúng tôi sẽ định cấu hình hàm Lambda để được gọi trên mỗi PutObject sự kiện trong bộ chứa được quản lý của Amazon Security Lake, cụ thể là dữ liệu nhật ký luồng VPC. Trong Amazon Security Lake có khái niệm về người đăng ký sử dụng nhật ký và sự kiện từ Amazon Security Lake. Hàm Lambda phản hồi các sự kiện mới phải được cấp đăng ký quyền truy cập dữ liệu. Người đăng ký truy cập dữ liệu được thông báo về các đối tượng Amazon S3 mới cho một nguồn khi các đối tượng được ghi vào bộ chứa Security Lake. Người đăng ký có thể truy cập trực tiếp vào các đối tượng S3 và nhận thông báo về các đối tượng mới thông qua điểm cuối đăng ký hoặc bằng cách thăm dò hàng đợi Amazon SQS.

  1. Mở Bảng điều khiển hồ an ninh.
  2. Trong ngăn điều hướng, chọn Thuê bao.
  3. Trên trang Người đăng ký, chọn Tạo người đăng ký.
  4. Để biết chi tiết Người đăng ký, hãy nhập inferencelambda cho Tên thuê bao và một tùy chọn Mô tả.
  5. Sản phẩm Khu vực được tự động đặt làm Khu vực AWS hiện được chọn của bạn và không thể sửa đổi.
  6. Trong Nguồn nhật ký và sự kiện, chọn Nguồn nhật ký và sự kiện cụ thể Và chọn Nhật ký luồng VPC và nhật ký Tuyến 53
  7. Trong Phương pháp truy cập dữ liệu, chọn S3.
  8. Trong Thông tin xác thực của người đăng ký, hãy cung cấp ID tài khoản AWS của tài khoản chứa hàm Lambda và mã do người dùng chỉ định ID bên ngoài.
    Lưu ý: Nếu thực hiện việc này cục bộ trong một tài khoản, bạn không cần phải có ID bên ngoài.
  9. Chọn Tạo.

Tạo hàm Lambda

Để tạo và triển khai hàm Lambda, bạn có thể hoàn thành các bước sau hoặc triển khai mẫu SAM dựng sẵn 01_ipinsights/01.02-ipcheck.yaml trong kho GitHub. Mẫu SAM yêu cầu bạn cung cấp SQS ARN và tên điểm cuối SageMaker.

  1. Trên bảng điều khiển Lambda, chọn Tạo chức năng.
  2. Chọn Tác giả từ đầu.
  3. Trong Tên chức năng, đi vào ipcheck.
  4. Trong Runtime, chọn Python 3.10.
  5. Trong Kiến trúc, lựa chọn x86_64.
  6. Trong Vai trò thực thi, lựa chọn Tạo vai trò mới với quyền Lambda.
  7. Sau khi tạo hàm, nhập nội dung của ipcheck.py tập tin từ kho GitHub.
  8. Trong ngăn dẫn hướng, chọn Biến môi trường.
  9. Chọn Chỉnh sửa.
  10. Chọn Thêm biến môi trường.
  11. Đối với biến môi trường mới, hãy nhập ENDPOINT_NAME và để biết giá trị, hãy nhập ARN điểm cuối được xuất ra trong quá trình triển khai điểm cuối SageMaker.
  12. Chọn Lưu.
  13. Chọn Triển khai.
  14. Trong ngăn dẫn hướng, chọn Cấu hình.
  15. Chọn Triggers.
  16. Chọn Thêm trình kích hoạt.
  17. Theo Chọn một nguồn, chọn SQS.
  18. Theo hàng đợi SQS, hãy nhập ARN của hàng đợi SQS chính do Security Lake tạo.
  19. Chọn hộp kiểm cho Kích hoạt trình kích hoạt.
  20. Chọn Thêm.

Xác thực kết quả Lambda

  1. Mở Bảng điều khiển Amazon CloudWatch.
  2. Trong ngăn bên trái, chọn Nhật ký nhóm.
  3. Trong thanh tìm kiếm, nhập ipcheck, sau đó chọn nhóm nhật ký có tên /aws/lambda/ipcheck.
  4. Chọn luồng nhật ký gần đây nhất trong Luồng nhật ký.
  5. Trong nhật ký, bạn sẽ thấy kết quả giống như sau đối với mỗi nhật ký Amazon Security Lake mới:

{'predictions': [{'dot_product': 0.018832731992006302}, {'dot_product': 0.018832731992006302}]}

Hàm Lambda này liên tục phân tích lưu lượng mạng đang được Amazon Security Lake sử dụng. Điều này cho phép bạn xây dựng các cơ chế để thông báo cho nhóm bảo mật của mình khi một ngưỡng được chỉ định bị vi phạm, điều này sẽ cho thấy lưu lượng truy cập bất thường trong môi trường của bạn.

Dọn dẹp

Khi bạn đã thử nghiệm xong giải pháp này và để tránh bị tính phí vào tài khoản, hãy dọn sạch tài nguyên của bạn bằng cách xóa bộ chứa S3, điểm cuối SageMaker, tắt máy tính được gắn vào sổ ghi chép SageMaker Jupyter, xóa chức năng Lambda và tắt Amazon Security Lake trong tài khoản của bạn.

Kết luận

Trong bài đăng này, bạn đã tìm hiểu cách chuẩn bị dữ liệu lưu lượng truy cập mạng có nguồn gốc từ Amazon Security Lake cho machine learning, sau đó đào tạo và triển khai mô hình ML bằng thuật toán IP Insights trong Amazon SageMaker. Tất cả các bước được nêu trong sổ ghi chép Jupyter đều có thể được sao chép trong quy trình ML từ đầu đến cuối. Bạn cũng đã triển khai hàm AWS Lambda sử dụng nhật ký Amazon Security Lake mới và gửi các suy luận dựa trên mô hình phát hiện bất thường đã được đào tạo. Phản hồi mô hình ML mà AWS Lambda nhận được có thể chủ động thông báo cho nhóm bảo mật về lưu lượng truy cập bất thường khi đáp ứng các ngưỡng nhất định. Bạn có thể kích hoạt cải tiến liên tục mô hình bằng cách đưa nhóm bảo mật của bạn tham gia đánh giá vòng lặp để gắn nhãn xem lưu lượng truy cập được xác định là bất thường có phải là dương tính giả hay không. Điều này sau đó có thể được thêm vào tập huấn luyện của bạn và cũng được thêm vào bình thường dữ liệu lưu lượng truy cập khi xác định ngưỡng thực nghiệm. Mô hình này có thể xác định lưu lượng truy cập mạng hoặc hành vi bất thường tiềm tàng, nhờ đó nó có thể được đưa vào như một phần của giải pháp bảo mật lớn hơn để bắt đầu kiểm tra MFA nếu người dùng đăng nhập từ một máy chủ bất thường hoặc vào thời điểm bất thường, hãy cảnh báo cho nhân viên nếu có điều đáng ngờ. quét mạng từ các địa chỉ IP mới hoặc kết hợp điểm số hiểu biết về IP với các nguồn khác như Amazon Guard Duty để xếp hạng các phát hiện về mối đe dọa. Mô hình này có thể bao gồm các nguồn nhật ký tùy chỉnh như Nhật ký luồng Azure hoặc nhật ký tại chỗ bằng cách thêm các nguồn tùy chỉnh vào quá trình triển khai Amazon Security Lake của bạn.

Trong phần 2 của loạt bài đăng trên blog này, bạn sẽ tìm hiểu cách xây dựng mô hình phát hiện bất thường bằng cách sử dụng Rừng chặt ngẫu nhiên thuật toán được đào tạo bằng các nguồn Amazon Security Lake bổ sung tích hợp dữ liệu nhật ký bảo mật mạng và máy chủ, đồng thời áp dụng phân loại điểm bất thường về bảo mật như một phần của giải pháp giám sát bảo mật toàn diện, tự động.


Giới thiệu về tác giả

Joe Morotti là Kiến trúc sư Giải pháp tại Amazon Web Services (AWS), giúp đỡ các khách hàng Doanh nghiệp trên khắp Trung Tây Hoa Kỳ. Anh ấy đã nắm giữ một loạt các vai trò kỹ thuật và thích thể hiện nghệ thuật có thể của khách hàng. Khi rảnh rỗi, anh ấy thích dành thời gian chất lượng cùng gia đình khám phá những địa điểm mới và phân tích tổng thể thành tích của đội thể thao của mình

Bishr Tabbaa là kiến ​​trúc sư giải pháp tại Amazon Web Services. Bishr chuyên trợ giúp khách hàng về các ứng dụng máy học, bảo mật và khả năng quan sát. Ngoài công việc, anh ấy thích chơi quần vợt, nấu ăn và dành thời gian cho gia đình.

Sriharsh Adari là Kiến trúc sư giải pháp cao cấp tại Amazon Web Services (AWS), nơi anh ấy giúp khách hàng làm việc ngược lại từ kết quả kinh doanh để phát triển các giải pháp sáng tạo trên AWS. Trong những năm qua, anh ấy đã giúp nhiều khách hàng về việc chuyển đổi nền tảng dữ liệu trên các ngành dọc của ngành. Lĩnh vực chuyên môn cốt lõi của ông bao gồm Chiến lược Công nghệ, Phân tích Dữ liệu và Khoa học Dữ liệu. Trong thời gian rảnh rỗi, anh ấy thích chơi Tennis, say sưa xem các chương trình truyền hình và chơi Tabla.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img