Tấn công Buffer Overflow có nguyên nhân gần giống với tấn công SQL Injection, khi người dùng hay hacker cung cấp các biên đầu vào hay dữ liệu vượt quá khả năng xử lý của chương trình làm cho hệ thống bị treo dẫn đến từ chối dịch vụ hay có khả năng bị các hacker lợi dụng chèn các chỉ thị trái phép nhằm thực hiện các đoạn mã nguy hiểm từ xa. Vì vậy, trong bài báo này chúng ta sẽ tìm hiểu những khái niệm cơ bản nhất về tấn công tràn bộ đệm, các cách tấn công, cách phát hiện và cách phòng chống để nâng cao kiến thức và kỹ năng phòng chống lại các cuộc tấn công Buffer Overflow
MỤC LỤC 1.1.1.1.1 NỘI SUY ẢNH 2.1 Khái niệm: Trong tốn học giải tích số, phép nội suy phương pháp xây dựng điểm liệu phạm vi tập hợp rời rạc điểm liệu biết Trong kỹ thuật khoa học thường có số điểm li ệu thu việc lấy mẫu hay thí nghiệm, thử xây dựng chức mà gần gũi phù hợp với điểm liệu Có thể nói nội suy giải thuật phần mềm dùng để thêm vào (hoặc bỏ bớt) số điểm ảnh ảnh kỹ thuật số Tiến trình nội suy dựa màu sắc điểm ảnh cũ để xác định màu cho điểm ảnh gần Một số máy ảnh số sử dụng giải thuật nội suy để tạo ảnh có dung lượng cao khả thu nhận cảm biến ảnh tăng cường khả zoom kỹ thuật số máy Hầu tất phần mềm chỉnh sửa ảnh sử dụng nhiều phương pháp nội suy Hình ảnh mịn màng, khơng bị "vỡ hạt " phóng to hay biến đổi ảnh tùy vào thuật toán sử dụng giải thuật nội suy Có nhiều phương pháp nội suy khác nhau, cần sử dụng phương pháp nội suy cho phù hợp tốc độ kinh tế Một số phương pháp nội suy phổ biến như: - Affine Interpolation (Nội suy tam giác) - Nearest Neighbor Interpolation (Nội suy pixel gần ) - Bicubic Interpolation (Nội suy song khối ) - Billinear Interpolation ( Nội suy song tuyến tính) - Trilinear Interpolation (Nội suy tam tuyến tính) - Nội suy khơng gian - Nội suy thời gian có bù chuyển động Ngồi nhiều phương pháp nội suy hình ảnh khác không sử dụng phổ biến, điều mà ta quan tâm giải thuật nội suy khơng thêm thơng tin cho hình ảnh cả, thêm điểm ảnh làm tăng dung lượng tập tin Tuy nhiên phƣơng pháp nội suy làm việc theo cách giống Trong trường hợp, để tính giá trị pixel nội suy, chúng tìm điểm ảnh mà pixel nằm Sau gán giá trị tới pixel cách tính tốn giá trị trung bình có trọng số số pixel lân cận Trọng số dựa sở khoảng cách tới điểm xét Trong xử lý ảnh người ta sử dụng nhiều đến kỹ thuật nội suy Sau thu nhận ảnh người ta bắt đầu xử lý q trình xử lý có sử dụng đến kỹ thuật nội suy như: - Xử lý điền đầy (Filling a region): Là q trình tơ màu vùng định cách nội suy giá trị pixel từ viền vùng - Thay đổi kích thước ảnh nhƣ phóng đại ảnh, quay ảnh, bóp méo đề kỹ thuật nội suy cần sử dụng - Sinh hình ảnh trung gian thực nội suy từ khung ảnh nguồn khung ảnh đích Các hàm sử dụng tuyến tính yêu cầu tham số phƣơng pháp nội suy Với hầu hết hàm, phƣơng pháp mặc định sử dụng nội suy pixel gần Phương pháp tạo kết chấp nhận cho hầu hết ảnh phương pháp thích hợp với ảnh số Với ảnh cường độ hay RGB thường kiểu song tuyến tính song khối phƣơng pháp cho kết tốt Với ảnh RGB, nội suy thường thực mặt phẳng R,B,G cách riêng biệt Với ảnh nhị phân, nội suy gây ảnh hƣởng mà ta nhận thấy Nếu sử dụng nội suy song tuyến tính song khối, giá trị tính tốn cho pixel ảnh khơng hồn tồn Ảnh hƣởng ảnh kết phụ thuộc vào lớp ảnh vào Việc giảm kích thước (hình học) ảnh gây ảnh hưởng định lên ảnh, chẳng hạn tượng xuất cƣa biên ảnh Điều thông tin bị ta giảm kích thước ảnh Răng cưa xuất gợn sóng ảnh sau Vì phần mềm chỉnh sửa ảnh sử dụng nhiều phương pháp nội suy Hình ảnh mịn màng, khơng bị "vỡ hạt" phóng to tùy vào thuật toán sử dụng giải thuật nội suy Điều quan trọng giải thuật nội suy khơng thêm thơng tin cho hình ảnh cả, thêm điểm ảnh làm tăng dung lượng tập tin Tóm lại: Nội suy q trình sử dụng để ước lượng giá trị ảnh vị trí pixel 2.2 Các phương pháp nội suy 2.2.1 Nội suy pixel gần (Nearest Neighbor Interpolation) Đây phương pháp giải thuật nội suy Điểm ảnh lấy màu điểm ảnh gốc gần Nếu bạn phóng to ảnh 200%, điểm ảnh bổ sung thêm điểm ảnh (2 x 2) có màu sắc giống điểm ảnh gốc Phương pháp tạo hiệu ứng cưa (jaggies) ảnh phóng lớn Nội suy pixel gần hiệu ứng dụng cho hình vẽ bảo toàn đường biên cứng, thời gian đáp ứng nhanh không làm tăng nhiều dung lượng tập tin Hinh 1: Nội suy Nearest Neighbor Có thể nói nội suy điểm gần (còn gọi nội suy điểm lấy mẫu) phương pháp đơn giản, nội suy với nhiều kích thước Nội suy giá trị gần không đưa số điểm không gian đưa số giá trị điểm xung quanh điểm Thuật tốn nội suy điểm gần cần chọn giá trị điểm gần nhất, không xem xét giá trị khác tất điểm lân cận Thuật toán đơn giản để triển khai thực hiện, thường sử dụng thời gian thực 3D vẽ để chọn màu sắc cho giá trị kết cầu bề mặt Giải thuật đơn giản, nhanh tinh vi Nó lấy màu sắc từ điểm ảnh gần gán vào điểm ảnh tạo từ điểm ảnh Do phương pháp nội suy coi khả dụng với việc tạo ảnh có chất lượng cao Tuy nhiên chưa thực khắc phục tượng cưa phương pháp sử dụng 2.2.2 Nội suy tam giác (Affine interpolation) Đây phép nội suy hai tam giác hệ toạ độ Barycentric Hinh 2: Phép nội suy Affine Giả sử có hai tam giác muốn nội suy hai tam giác cho Một cách đơn giản sử dụng kỹ thuật ánh xạ dựa hệ toạ độ Barycentric minh hoạ hình Trước tiên định nghĩa ánh xạ T cho đỉnh tam giác: T(A)= D,T(B)= E,T(C)= F Barycentric Với điểm lại ánh xạ chúng theo toạ độ (λ , λ , λ ) nghĩa là: P = λ1 * A + λ2 * B + λ3 * C λ ≥0 (2.1) λ + λ +λ =1 Trong đó: i Một điểm Q ánh xạ P qua T tính tốn sau: Q = T(P) = T (λ1 * A + λ2 * B + λ3 * C ) = λ1 * T(A) + λ2 * T(B) + λ3 *T(C) = λ1 * D + λ2 * E + λ3 * F Như việc tìm điểm nội suy dựa vào hệ tọa độ Barycentric mô tả sau: Hệ tọa độ Barycentric (tọa độ trọng tâm) Trong toán học, tọa độ Barycentric tọa độ xác định đỉnh tam giác, tọa độ Barycentric hình thức tọa độ đồng x ,x , ,x n đỉnh đa giác đồng phẳng không gian vectơ Gọi A Nếu số điểm p khơng gian véc tơ A ta có: (a1 + a2 + + an )p = a1 x1 + a2 x2 + .an xn , hệ số a1 , a2 , , an tọa độ trọng tâm (Barycentric) P điểm P đa giác lồi tưởng x1 ,x2 , ,xn Khi tọa độ khơng phải nhất, x1 ,x2 , ,xn đỉnh đa giác Nếu tưởng a1 , a2 , , an gán cho đỉnh hình khối tâm khối hình điểm P Trong tam giác, tọa độ Barycentric gọi tọa độ khu vực (vùng) Bởi tọa độ P tam giác ABC tỷ lệ thuận với khu vực PBC, PCA PAB Tọa độ vùng tọa độ tam tuyến tính sử dụng cho mục đích tương tự hình học Tọa độ vùng có ích ứng dụng kỹ thuật liên quan đến miền tam giác v ,v ,v Trước tiên xét tam giác T xác định đỉnh điểm r nằm tam giác viết tổng trọng lượng đỉnh r = λ1v1 + λ2v2 + λ3v3 Trong λ , λ , λ tọa độ vùng (còn thường sử dụng ký hiệu (α , β , γ ) ) : λ1 + λ2 + λ3 = có nghĩa λ = − λ − λ 1 1− λ ∫ f(r)= A∫ ∫ T Lấy tích phân hàm f(r) ta có: f (λ1v1 + λ 2v2 + − λ − λ1 )d λ1d λ 0 Phương trình có dạng hàm nội suy tuyến tính Những tọa độ vùng Barycentric cho phép thực phép nội suy tuyến tính điểm hình tam giác giá trị hàm biết đỉnh Chuyển đổi tọa độ Đề thành tọa độ Barycentric Cho Một điểm r bên hình tam giác, có tọa độ Barycentric λ1, λ , λ điểm r Chúng ta viết tọa độ Barycentric điểm r có tọa độ đề tạo thành từ đỉnh r1 , r2 , r3 sau: (x, y) x = λ1 x1 + λ2 x2 + λ3 x3 (2.4) y = λ1 y1 + λ2 y2 + λ3 y3 (2.5) Thay λ = − λ − λ vào phương trình ta có: x = λ1 x1 + λ2 x2 + (1 − λ2 − λ1 ) x3 (2.6) y = λ1 y1 + λ2 y2 + (1 − λ2 − λ1 ) y3 (2.7) Sắp xếp lại ta có: λ1 ( x1 − x3 ) + λ2 ( x2 − x3 ) + x3 − x = λ1 ( y1 − y3 ) + λ2 ( y2 − y3 ) + y3 − y = (2.8) (2.9) Sử sụn phép biến đổi tuyến tính ta viết ngắn gọn lại sau: T λ = r − r Trong λ véc tơ tọa độ Barycentric, r véc tơ tích Đề T ma trận xác định sau: x1 − x3 T= y1 − y3 x2 − x3 y2 − y3 Bây lấy nghịc đảo ma trận T ta viết ngắn gọn hơn: λ1 − ÷ = T (r − r3 ) (2.10) λ2 Việc tìm Tọa độ Barycentric xác định việc tìm ma trận nghịch đảo ma trận T 2.2.3 Nội suy lưới có cấu trúc hình tam giác Tọa độ Barycentric cung cấp cách để nội suy hàm lưới mắt lưới khơng có cấu trúc, miễn giá trị hàm biết tất đỉnh lưới f Để nội suy hàm điểm r: Chúng ta duyệt qua phần giác sau chuyển đổi r thành tọa độ Barycentric tam giác Nếu ≤ λ i ≤ ∀ i = 1,2,3 điểm nằm tam giác bên cạnh Bây nội suy giá trị tự động với f(r) : f(r) = λ1 f(r1 ) + λ2 f(r2 ) + λ3 f(r3 ) Việc nội suytuyến tính λ1 + λ2 + λ3 = 2.2.4 Nội suy song khối (Bicubic Interpolation) 2.2.4.1 Phép nội suy song khối Đây phương pháp nội suy cho kết tốt hầu hết phần mềm xử lý ảnh, máy ảnh số máy in sử dụng Điểm ảnh tạo có giá trị trung bình 16 điểm ảnh gốc gần (4 x 4) Vì tái tạo chi tiết màu từ nhiều điểm ảnh gốc nên quy trình tốn nhiều thời gian nhớ xử lý Trong toán học, phép nội suy song khối (Bicubic Interpolation) mở rộng nội suy khối cho nội suy điểm liệu hai chiều lưới Bề mặt nội suy trơn nhẵn bề mặt tương ứng đạt nội suy song tuyến tính (bilinear interpolation) nội suy điểm gần (Nearest Neighbor Interpolation) Nội suy song khối sử dụng đa thức Lagrange, thuật tốn cubic splines (đường bậc ba) thuật toán cubic convolution (khối cuộn) Trong biến đổi ảnh, lấy mẫu ảnh, tốc độ khơng phải vấn đề nội suy so ng khối thường lựa chọn nội suy song tuyến tính nội suy pixel gần nhất, với nội suy song khối hình ảnh lấy mẫu trơn có hình ảnh nội suy Nội suy song khối (Bicubic interpolation) với ma trận vng [0,3]x[0,3] gồm có đơn vị khối vng ghép với 2.2.4.2 Giải thuật nội suy song khối (Bicubic) f ,f f Giả thiết giá trị hàm f dẫn xuất x y x , y biết bốn góc (0,0), (1,0), (0,1) (1,1) đơn vị thẳng góc Chèn thêm bề mặt viết 3 p(x, y)= ∑ ∑ aii x i y i (2.11) i=0 j=0 Vấn đền nội suy gồm có việc xác định 16 hệ số giá trị hàm thực bốn phương trình sau: aij Sự thích ứng p(x, y) với f(0,0)= p(0,0)= a00 f(1,0)= p(1,0)= a00 + a10 + a20 + a30 f(0,1)= p(0,1)= a00 + a01 + a02 + a03 3 f(1,1)= p(1,1) = ∑∑ a jj i =0 j =0 Giống vậy, Tám phương trình sau cho dẫn xuất x hướng y hướng 2.2.5 Nội suy tuyến tính (Linear interpolation) Có nhiều ứng dụng cần thiết phải phóng đại vùng ảnh Có nghĩa lấy vùng ảnh cho cho lên ảnh lớn Có phương pháp dùng lặp (Replication) nội suy tuyến tính (linear interpolation) 2.2.5.1 Nội suy theo phương pháp lặp Người ta lấy vùng ảnh kích thước M x N quét theo hàng Mỗi điểm ảnh nằm đường quét lặp lại lần hàng quét lặp lại lần Như ta thu ảnh với kích thước 2N x 2N Điều tương đương với chèn thêm hàng cột chập với mặt nạ H 1 H= 1 v(m,n)= u(k,l) Kết thu nội suy theo phương pháp lặp: với 1 1 k = [m/2] l=[n/2] Hình minh họa Ví dụ: Tìm nội suy điểm P Bốn dấu chấm màu đỏ hiển thị điểm liệu dấu chấm màu xanh điểm mà muốn nội suy Giả sử muốn tìm thấy giá trị chưa biết f điểm biết giá trị f bốn điểm P = (x, y) Giả định Q11 = (x1 , y1 ), Q12 = (x1 , y2 ), Q21 = (x2 , y1 ), Q22 = (x2 , y2 ) Trong đó: y1: biến có chứa liệu điểm dọc trục; x1: biến có chứa liệu điểm ngang trục; x1: biến có chứa điểm ngang nơi nội suy thực hiện; y1: biến có chứa điểm dọc nơi nội suy thực hiện; Đầu tiên ta làm nội suy tuyến tính x-hướng Cho kết quả: f(R1 ) ≈ f(R2 ) ≈ (x2 - x) (x - x1 ) * f(Q11 )+ * f(Q21 ) (x2 - x1 ) (x2 - x1 ) (2.21) (x2 - x) (x - x1 ) * f(Q12 )+ * f(Q22 ) (x2 - x1 ) (x2 - x1 ) (2.22 ) Chúng ta tiến hành nội suy theo Chúng ta tiến hành nội suy theo y-hướng được: với R1 = (x, y1 ) với R2 = (x, y2 ) f(R1 ) ≈ (y2 - y) (y - y1 ) * f(R1 )+ * f(R2 ) (y2 - y1 ) (y2 - y1 ) Điều cho phép ước tính (2.23 ) f(x, y) f(x, y) ≈ f(Q11 ) (x2 - x)(y2 - y) (x2 - x1 )(y2 - y1 ) + f(Q21 ) (x - x1 )(y2 - y) (x - x1 )(y2 - y1 ) + f(Q12 ) (x2 - x)(y - y1 ) (x2 - x1 )(y2 - y1 ) + f(Q22 ) (x - x1 )(y - y1 ) (x2 - x1 )(y2 - y1 ) (2.24) Nếu chọn hệ thống phối hợp có bốn điểm ε nơi f có giá trị (0,0), (0,1), (1,0), (1,1), sau cơng thức nội suy đơn giản thành: f(x, y) ≈ f(0,0)(1- x)(1- y)+ f(1,0)x(1- y)+ f(0,1)(1- x)y+ f(1,1)x,y Hoặc tương đương, ma trận: f(0,0) f(0,1) 1- y f(x, y) ≈ [1- x x] f(1,0) f(1,1) y (2.25) Trong trường hợp này, số lượng thay đổi tương ứng với số lượng điểm liệu, nơi f định sẵn Nội suy theo đường tuyến tính song song với x hướng y hướng Tương tự x y đặt với đường thẳng khác nội suy bậc hai Việc mở rộng nội suy song tuyến sử dụng ba kích thước gọi nội suy ba đường, hay nội suy tam tuyến 2.2.6.1 Ứng dụng xử lý hình ảnh Trong máy tính xử lý ảnh, nội suy song tuyến kỹ thuật bả n Đó kỹ thuật làm đồ cho sản phẩm hình ảnh thực tế hợp lý Cũng biết đến lọc song tuyến tính biên tập đồ Một thuật toán sử dụng để xác định vị trí điểm ảnh hình tương ứng với điểm đồ Trọng lượng trung bình thuộc tính (màu sắc, kiến trúc alpha, vv) bốn điểm ảnh xung quanh tính áp d ụng cho ảnh hình Quá trình lặp lặp lại cho điểm ảnh Khi hình ảnh cần phải thu nhỏ lại , điểm ảnh hình ảnh ban đầu cần phải di chuyển số hướng dựa quy mơ Tuy nhiên, nhân rộng lên hình ảnh, có nhữn g điểm ảnh (ví dụ: Hole) mà khơng có định cho phù hợp giá trị điểm ảnh Trong trường hợp này, lỗ nên xếp vào hình ảnh giá trị thích hợp hình ảnh khơng có giá trị điểm ảnh 2.2.6.2 So sánh với nội suy điểm ảnh gần nội suy song khối Thông thường nội suy song tuyến tính sử dụng chuyển đổi hình ảnh hồn hảo, phù hợp với hình ảnh khơng để tính toán phân phối giá trị điểm ảnh phù hợp Không giống kỹ thuật khác nội suy nội suy hai điểm gân nội suy song khối, nội suy song tuyến tính sử dụng gần điểm ảnh giá trị nằm đường chéo hướng từ điểm ảnh, mà cụ thể để tìm thấy giá trị thích hợp màu mong muốn điểm ảnh 2.2.6.3 Nội suy tam tuyến tính (trilinear) Phép nội suy Tam tuyến phương pháp phép nội suy nhiều chiều (trên chiều lưới x, y, z) Nó lấy giá trị xấp xỉ điểm không gian (x,y,z) bên lăng trụ chữ nhật theo trục địa phương tuyến tính, sử dụng liệu điểm nút Đối với mắt lưới bất kỳ, khơng có cấu trúc lưới sử dụng phân tích phần tử hữu hạn Các phương pháp khác phép nội suy phải sử dụng, tất phần tử mắt lưới khối tứ diện (thường 3D), toạ độ trọng tâm cung cấp thủ tục đơn giản Phép nội suy Tam tuyến thường xuyên sử dụng giải tích số (phương pháp tính), phân tích liệu, đồ họa máy tính 2.2.6.4 Giải thuật nội suy tam tuyến (trilinear interpolation) Trên mạng lưới tuần hoàn khối lập phương với khoảng cách 1, cho phép xd , yd ,zd xác định khác x,y,z tọa độ nhỏ có liên quan, là: xd = x − x , yd = y − y , zd = z − z Hinh 7: Minh họa nội suy trilinear điểm góc hình khối bao quanh điểm nội suy C Miêu tả nội suy Kết phép nội suy tam tuyến độc lập Các bước nội suy thực theo trục: dọc theo trục x, dọc theo trục y cuối dọc theo trục z, cho kết Các thao tác mường tượng sau: Đầu tiên chúng tìm điểm góc hình khối bao quanh điểm quan tâm (điểm nội suy) Những góc có giá trị C000 , C100 , C010 , C110 , C001 , C101 ,C011 , C111 Tiếp đến nội suy C000 C100 để tìm C00 , nội suy C001 C101 để tìm C01 , nội suy C011 C111 để tìm C11 , nội suy C010 C110 để tìm C10 C C C C C C Bây nội suy 00 10 để tìm , nội suy 01 11 để tìm , Cuối tính tốn giá trị C theo nội suy tuyến tính nội suy song tuyến kết hợp với nội suy tuyến tính C ≈ l (b(C000 , C010 , C110 ),b(C001 ,C011 , C101 , C111 )) 2.2.6.5 So sánh với phép nội suy tuyến tính song tuyến tính Phép nội suy Tam tuyến mở rộng phép nội suy tuyến tính, mà hoạt động khơng gian với kích thước D = 1, phép nội suy song tuyến tính hoạt động với kích thước D = 2, đến D = Thứ tự xác cho tất chương trình nội suy đòi hỏi (1+n)D = giá trị liền kề trước xác định giá trị xung quanh điểm nội suy KỸ THUẬT WARPING Warping hình kỹ thuật mà Hollywood phát vào năm 1980 Kết kỳ diệu điều thấy hàng ngày quảng cáo, video, nhạc phim ảnh Warping (và người anh em Morphing) biến xe cũ kỹ thành đại hay biến xe thành hổ dễ dàng 3.1 Wraping ảnh Wraping ảnh kỹ thuật để uốn cong làm biến dạng một vài đối tượng hình ảnh Giữ kéo để làm biến dạng hình ảnh Uốn kéo dài để tạo hình dạng cho đối tượng hình Wraping hình cho hình ảnh số hóa khơng giống thiết lập ngớ ngẩn làm Sử dụng máy tính để wraping ảnh khơng phải điều mẻ Nó bắt đầu vào năm 1960 với công cụ khảo sát không gian Những hình ảnh mặt trăng tạo "máy ảnh" máy khảo sát bị bóp méo Đường thẳng trở thành đường cong phận trở nên tỷ lệ với Bộ xử lý hình ảnh Propulsion Laboratory Jet [14.1] chuyển đổi hình ảnh dạng vng thành phần lộn xộn Những hình ảnh lộn xộn sau chia xếp thẳng hàng Những người Hollywood tạo wraping năm 1980 định áp dụng kỹ thuật lĩnh vực giải trí Và kết thấy hàng ngày quảng cáo, video, nhạc phim ảnh… 3.2 Công nghệ Wraping Ý tưởng đằng sau Wraping biến đổi tứ giác thành hình chữ nhật Tứ giác hình có góc giới hạn đoạn thẳng Để biến tứ giác thành hình chữ nhật, phải biến đổi yếu tố bên tứ giác Hình Hinh cho thấy tứ giác với điểm P bên Để chuyển tứ giác thành hình chữ nhật đòi hỏi phải tìm tọa độ điểm P tứ giác Tọa độ điểm P tìm tọa độ bốn góc P1, P2, P3 P4 phân số a b dọc theo cạnh Để tìm P, ta sử dụng nội suy song tuyến tính Trong chương cuối , nội suy song tuyến tính tìm thấy mức độ xám điểm ảnh điểm ảnh khác (mức xám nội suy song tuyến tính ) Nó dùng để tìm vị trí điểm ảnh điểm ảnh khác (không gian nội suy song tuyến tính) Phương trình (14.1) đến (14.7) cho thấy làm để tìm tọa độ điểm P ( Nếu tốn học khơng chắc, bạn bỏ qua để đến kết phương trình (14.6) (14.7) Mã nguồn cấp sau thực phương trình ) Những phương trình sử dụng nội suy song tuyến tính Họ suy dọc theo phía tứ giác sau dọc theo hai bên Trong phương trình, a b số thập phân (0