A modern data platform is a set of cultural principles, tools and capabilities that enables organizations to fundamentally become data-driven. The mission is to create delightful customer experiences and democratize data and analytics for business outcomes.
In this event, we’ll be shared knowledge about Data platform under view from a Product Manager and a Technical Architect. This is also an exciting event for those who are Back-end engineers, Data engineers or Data analysts are in struggle in data platforms, a great opportunity to chat with our 2 speakers and discuss more on this interesting topic!
Can’t wait to see you at the upcoming Technical events in December 2022 and January 2023! After 12 issues, Gamba continues to help you grow by delivering quality content at our best.
Take a look at the event list below and click on the title that you want to attend! All events will be hosted online via Zoom.
Dec 3, 2022 - Online via Zoom
Build A Great Data Platform
Mr. Thang Le – Data Engineering Architect @EOG Resources Mr. Hiep Nguyen – Product Manager @Filum.ai
(Registration link to be updated).
In this event, we’ll be shared knowledge about Data platform under view from a Product Manager and a Technical Architect. This is also an exciting event for those who are Back-end engineers, Data engineers or Data analysts are in struggle in data platforms, a great opportunity to chat with our 2 speakers and discuss more on this interesting topic!
Dec 17, 2022 - Online via Zoom
Deploy An AI Model
Mr. Hung Ngo – Founder & CEO of CoTAI
(Registration link to be updated).
Deploying AI models at scale is one of the most important challenges for engineers, as models get more complex, it’s only getting harder. A few new architectures and products can help you. Understand the struggle, Mr. Hung Ngo will share with you how he did it as an AI Engineer.
Dec 21, 2022 - Online via Zoom
JavaScript Frameworks
Mr. Hau Nguyen – Founder of Easy Front-end
(Registration link to be updated).
Join us to know the difference between React.js and Vue.js, and how to become a Front-end developer from scratch.
Jan 10, 2023 - Online via Zoom
Blockchain career – What to do in frozen time?
(Registration link to be updated).
It’s no longer a $1 trillion market. In a drastic set of events, the total market capitalization for crypto has slid to $870 billion in just a few short days.
We witnessed the fall of the trillion-dollar empire – FTX, Bored Ape prices are down… So what should Blockchain engineers do now? In this very hot topic, let’s meet Quan IT, who is specialized in Blockchain will give you his view on all this chaos and advice on the Blockchain engineer roadmap.
Magic Eden bắt tay cùng Polygon, phát triển blockchain gaming
Chợ NFT, Magic Eden đang tích hợp với Polygon, blockchain lớp 2 mở rộng Ethereum để tìm hiểu sâu hơn về blockchain gaming và hệ sinh thái NFT, cả 2 đã công bố vào thứ Ba.
Magic Eden thông báo tích hợp với Polygon, đẩy mạnh Blockchain gaming
Zhuoxun Yin, đồng sáng lập và COO của Magic Eden, cho biết:
“Chúng tôi rất vui mừng được tích hợp với Polygon và tiếp tục theo đuổi tương lai đa chuỗi (multi-blockchain) cho Magic Eden. Bằng sự tích hợp này, chúng tôi đang tiếp tục loại bỏ mọi rào cản dành riêng cho chuỗi và mở rộng NFT cho đại chúng.”
Việc mở rộng nhằm cung cấp cho Magic Eden khả năng hỗ trợ hệ sinh thái của các nhà phát triển và nhà sáng tạo trò chơi của Polygon. Mạng Polygon lưu trữ một số dự án và nhà xuất bản trò chơi web3 lớn nhất như Ubisoft, Atari, Animoca Brands, Decentraland, Sandbox, và nhiều cái tên khác.
Polygon tập trung vào Ethereum, gần đây cũng đã gây chú ý khi hợp tác với các công ty phi tiền điện tử như Instagram, Stripe, Disney, Starbucks và Robinhood để tích hợp công nghệ web3 vào các doanh nghiệp.
Yin cho biết:
“Việc tích hợp sẽ cho phép chúng tôi đưa thêm nhiều thương hiệu toàn cầu và người dùng mới vào thị trường NFT, đồng thời tiếp tục đưa các trò chơi web3 đến với công chúng. Polygon đã đưa nhiều thương hiệu được công nhận vào web3, mở ra cánh cổng cho người dùng mới khám phá nhiều tiện ích của NFT.”
Trên website của mình, mạng lưới Polygon cho biết đã hỗ trợ hơn 37.000 ứng dụng phi tập trung (dApps) và đã có khoảng 1,8 tỷ tổng số giao dịch được xử lý. Việc mở rộng với Polygon có thể cung cấp cho Magic Eden khả năng khai thác hệ sinh thái của nó và ngược lại.
Công ty cho biết sau khi ra mắt vào tháng 9 năm 2021, Magic Eden đã trở nên phổ biến khá nhanh. Trung bình có khoảng 10 triệu phiên người dùng duy nhất mỗi tháng và có hơn 20.000 NFT được giao dịch hàng ngày — ngay cả trong bối cảnh thị trường suy thoái. Vào tháng 6, Magic Eden đã huy động được 130 triệu đô, nâng mức định giá của mình lên 1,6 tỷ đô.
Tình hình của Magic Eden đang rất là triển vọng. Ảnh: Twitter
Đến nay, nền tảng của Magic Eden có tổng khối lượng giao dịch NFT hơn 2,5 tỷ đô.
Nhìn chung, theo dữ liệu của CryptoSlam, thị trường NFT gần đây không tăng trưởng vì tổng doanh số NFT đã giảm hàng tháng liên tiếp kể từ tháng 4. Tuy nhiên, dữ liệu cho thấy trong 30 ngày qua, doanh số Ethereum NFT tăng khoảng 26%, trong khi doanh số Solana NFT giảm gần 20%. Trong khoảng thời gian đó, Polygon vượt trội so với cả blockchain Ethereum và Solana với mức tăng 71% về khối lượng bán NFT.
Yin cho biết:
“Việc chúng tôi tham gia vào Polygon sẽ bao gồm bệ phóng (launchpad) và thị trường (marketplace), cả hai sẽ ra mắt vào tháng tới và đơn giản hóa quy trình cho người sáng tạo và người sưu tập NFT.
Các bệ phóng tiền điện tử (crypto launchpad) hay còn gọi là vườn ươm tiền điện tử và là nền tảng cho phép xây dựng các dự án tập trung vào web3 trong một mạng chuỗi khối được chỉ định. Trong trường hợp của Magic Eden, bệ phóng thị trường NFT của nó là một chuỗi chéo (cross-chain) trên Solana, Ethereum hoặc cả hai và chịu trách nhiệm cho 90% tổng khối lượng NFT dựa trên Solana.
Theo một tuyên bố, việc tích hợp sẽ tập trung vào việc cung cấp các công cụ cho người sáng tạo bao gồm launchpad và marketplace được liên kết với mã thông báo gốc (native token) của Polygon, MATIC. Các nhà phát triển trò chơi như BORA được hỗ trợ bởi Kakao Games, IntellaX, nWay, Block Games, Boomland, Planet Mojo và Taunt Battleworld đã cam kết với Launchpad của Magic Eden với Polygon.
Yin cho biết về lâu dài, sự hợp tác giữa Magic Eden và Polygon nhằm mục đích đưa nhiều nhà phát triển trò chơi và trò chơi NFT ra thị trường hơn.
Cho đến nay, Magic Eden đã đưa hơn 100 trò chơi ra thị trường trên các chuỗi khối lớp 1 Solana và Ethereum, ông nói thêm.
“Mặc dù chúng tôi vẫn đang trong giai đoạn đầu áp dụng hàng loạt trò chơi blockchain, nhưng chúng tôi tin rằng Magic Eden có thể gia tăng giá trị ở đây.”
Thay đổi là điều duy nhất bất biến và theo Thuyết tiến hoá của Darwin, cá thể thích nghi với thế giới đang ngày càng phát triển sẽ có khả năng sinh tồn lâu dài. Có vẻ như lý thuyết này cũng đúng với Java, vì nó liên tục phát triển và phục vụ trong hơn hai thập kỷ.
Từ JDK 1.0 đến Java 17 (LTS), Java đã trải qua một chặng đường dài. Java 17 là bản phát hành hỗ trợ dài hạn (LTS) mới nhất cho nền tảng SE, được phát hành vào ngày 15 tháng 9 năm 2021 và có một gói tính năng mà chúng ta không nên bỏ qua nếu chưa tự tay khám phá.
Việc bổ sung tính năng trong bất kỳ ngôn ngữ lập trình nào sẽ cải thiện hiệu suất của nó và do đó giúp cho code phức tạp trở nên dễ dàng. Chẳng hạn, C# ban đầu là một bản sao của Java nhưng việc thêm nhiều tính năng hơn vào nó đã sinh ra C#.
Mặc dù có nhiều tính năng được giới thiệu trong Java 17, nhưng trong bài viết này, chúng ta sẽ thảo luận về…
5 Tính năng hàng đầu của Java 17
Dừng lại chút nào, nếu bạn đang #open_to_work, thử nghía qua các công việc đang tuyển trên Gamba nhé. Vào LINK NÀY để xem các job cần đến kỹ năng về Java hoặc scan QR Code ở bên dưới nhé.
Xem và ứng tuyển các job Java
1. Hạn chế triển khai với các Sealed classes và Giao diện
Sealed class là một tính năng xem trước trong JDK 15 và giờ đây đã trở thành một tính năng hoàn chỉnh trong JDK 17.
Khi tính kế thừa (inheritance) được giới thiệu, mọi người đã có nhiều ý kiến trái chiều vì nó không hạn chế số lượng triển khai. Các sealed class chấm dứt điều này vì đây là một tính năng mà người ta có thể hạn chế việc triển khai.
Để giải quyết vấn đề, sealed class cho chúng ta đặc quyền kiểm soát những lớp hoặc mô hình nào có thể triển khai hoặc mở rộng giao diện / lớp đó tương ứng. Nó đại diện cho các hệ thống phân cấp lớp bị hạn chế cung cấp quyền kiểm soát đối với tính kế thừa.
Đối với một sealed class, tất cả các lớp con trực tiếp cần phải được biết tại thời điểm biên dịch và ứng dụng khách bên thứ ba không thể mở rộng sealed class trong code của chúng.
Để tạo một lớp Java, một sealed Java class, cứ thêm sealed modifier vào khai báo của nó và từ khóa cho phép được đặt để chỉ ra các lớp được phép đối với sealed class đã cho.
Lớp niêm phong Fruit chỉ định ba lớp con được phép, Square, Rectangle, và Circle:
package com.geeksforgeeks.example.figures
public sealed class Shape permits, Square, Rectangle, Circle { }
2. Sử dụng Null trong Switch Case hiện đã hợp lệ
Trước đây, việc giữ biểu thức bộ chọn là null trong câu lệnh chuyển đổi và biểu thức được sử dụng để ném NullPointerException (NPE, là một ngoại lệ xảy ra khi lập trình viên tham chiếu đến đối tượng nhưng nó không có vị trí bộ nhớ) và về cơ bản chúng ta phải ném Null Pointer Exception vào phía an toàn hơn.
Để giải quyết vấn đề này, Java 17 đã đưa ra một tính năng mà trong đó chúng ta có thể đặt null làm biểu thức bộ chọn (selector expression) trong biểu thức switch case. Hãy xem ví dụ dưới đây, nơi chúng ta có thể chuyển null làm biểu thức bộ chọn.
switch(checkNumber) {
case 1,7 -> System.out.println(“odd number”) ;
case 2,8 -> System.out.println(“even number”) ;
case null -> System.out.println(“Not defined”) ;
default -> System.out.println(“not a number”) ;
}
Ở đây, biến checkNumber lấy một số làm đầu vào. Nếu null được truyền dưới dạng đầu vào, thì “Không được định nghĩa” được hiển thị dưới dạng đầu ra.
Lưu ý rằng, đối với trường hợp 1,7 và trường hợp 2,8, các số chẵn và lẻ khác cũng sẽ được sử dụng trong biểu thức bộ chọn để mã hoạt động đúng. Chỉ một số ít được thực hiện để duy trì tính đơn giản của ví dụ.
3. Chấm dứt việc đoán nguyên nhân của NPE
Có thể nó hoạt động với các danh sách được liên kết hoặc chỉ một đoạn mã có tham chiếu đến một đối tượng, luôn có nguy cơ tham chiếu đến một đối tượng rỗng có thể khiến mọi thứ trở nên tồi tệ nếu không được xử lý tốt.
Debugging và nhật ký Java có thể hữu ích nhưng bản thân debugging là một nhiệm vụ mất thời gian và nhật ký java không tốt trong việc cung cấp thông tin chi tiết về đối tượng thủ phạm đã gây ra NullPointerException.
Ở đây, tính năng hướng dẫn NullPointerException của Java 17 thực sự là một người bạn vì nó cung cấp tên chính xác của biến null từ stack trace (báo cáo) của ngoại lệ.
Do đó, tính năng này giúp chúng ta tránh khỏi rắc rối khi gỡ lỗi và kết thúc trò chơi mò mẫm tìm ra con trỏ không có giá trị.
4. Định nghĩa lại các biểu thức câu lệnh Switch (switch statement)
Quên một dấu ngắt giữa nhiều dòng câu lệnh switch-case hoàn toàn không phải là điều hay ho gì. Hơn nữa, mô hình case-break-case-break dường như không phải là một thỏa thuận tốt khi xử lý nhiều switch case.
Nhưng giờ thì chúng ta không cần phải break với việc sử dụng break thường xuyên nữa! Java đã giải quyết mối lo ngại này và ở đây chúng ta trình bày các biểu thức câu lệnh chuyển đổi mới trong Java 17.
Các biểu thức chuyển đổi mới ít bị lỗi hơn vì nó sạch và đơn giản hơn. Việc sử dụng các biểu tượng mũi tên không chỉ loại bỏ chức năng không chạy mà còn làm cho nó dễ đọc hơn và dễ gỡ lỗi hơn.
Chúng ta có thể đưa vào nhiều hơn một giá trị trong cùng một khối bằng dấu phẩy phân tách chúng.
Một trong những tính năng quan trọng là việc giới thiệu yield keyword. Trong đoạn code, khi thực thi câu lệnh mặc định, System.out.println() sẽ thực thi và biến identifyTyres sẽ kết thúc bằng “Unknown vehicle” vì đây là kết quả mặc định có nghĩa là mang lại.
String identifyTyres = switch (vehicle) {
case Car -> “four”;
case Bike, Cycle -> “two”;
case Autorickshaw -> “three”;
default -> { System.out.println(“The vehicle could not be found.”);
yield “Unknown Vehicle”;
};
5. Giảm dòng có với Lớp bản ghi (Record classes)
Các record class đã được xem trước trong Java 14. Mã POJO phức tạp và xấu nhất trông đẹp hơn khi được triển khai với Bản ghi. Cả hai đều bất biến và cuối cùng. Các trường của Bản ghi không thể thay đổi sau khi tạo và phần mở rộng của lớp Bản ghi cũng không được phép. Chúng chính là các lớp chỉ chứa dữ liệu quản lý mã soạn sẵn của POJO.
Bản ghi rất hữu ích bởi tất cả những gì chúng ta muốn là tạm thời giữ dữ liệu không thay đổi.
Trong đoạn mã, Dữ liệu là một bản ghi và a và b được gọi là các thành phần của bản ghi Dữ liệu. Khi định nghĩamột bản ghi, chúng ta nhận được một phương thức equals(), phương thức hashcode() đã được triển khai và triển khai phương thức toString() để in các thành phần bản ghi cùng với tên thành phần.
record Data(long a, long b) { }
Dữ liệu Bản ghi ở trên tương đương với các dòng mã sau:
public final class Data {
private final long a;
private final long b;
Public Data(long a, long b) {
this.a = a;
this.b = b;
}
long a() { return this.a; }
long b() { return this.b; }
// Implementation of equals() and hashCode(), which specify
public boolean equals…
public int hashCode…
// An implementation of toString() that returns a string
public String toString() {…}
}
Trên đây là 5 tính năng hàng đầu của Java 17 LTE.
Hãy thừa nhận rằng chúng ta luôn quan tâm đến các tính năng mới, có thể là điện thoại di động, tivi, máy giặt, v.v. Java cũng không kém trong trường hợp này và nó luôn khiến chúng ta ngạc nhiên với những cải tiến và giới thiệu các tính năng mới.
Việc thử nghiệm các tính năng mới trong mã Java không chỉ nâng cao kiến thức của chúng tôi trong lĩnh vực Java mà còn giúp chúng tôi có động lực học hỏi và nâng cao kỹ năng bản thân. Java 17 LTE là một điểm cộng lớn vì các tính năng này có thể chấp nhận được và giúp các nhà phát triển Java thực hiện các tác vụ dễ dàng hơn.
Một Genshin Impact fan art bị đánh cắp bằng trình tạo AI
Một trình tạo nghệ thuật AI cho phép kẻ trộm ‘hoàn thành’ ảnh vẽ kỹ thuật số cả trước khi người sáng tạo bắt đầu đăng nó.
Trước giờ, tôi không nghĩ rằng mình đã từng chứng kiến những vụ trộm nghệ thuật như thế này.
Một fan hâm mô của Genshin Impact đang vẽ một tác phẩm mới trên Twitch. Trước khi người này có thể hoàn thành fanart và đăng nó lên Twitter, một trong những khán giả đã đưa sản phẩm chưa thành hình đó vào một trình tạo AI (AI generator) và “hoàn thành” nó trước.
Sau khi nghệ sĩ đăng tác phẩm hoàn chỉnh của mình, kẻ trộm này đã lên tiếng đòi công đạo (credit) với người nghệ sĩ ban đầu.
Kẻ lừa đảo trơ trẽn tweet: “Anh đăng sau tôi tầm 5-6 tiếng, và đối với kiểu vẽ đó, anh có thể làm nhanh nó. Anh đã tham khảo từ ảnh AI thì ít nhất phải thừa nhận nó chứ.”
During a Twitch stream AT (@haruno_intro) had their art stolen.
The thief then finished the sketch by using NovelAI and posted on their Twitter before AT finish it.
— Genel Jumalon ✈️ Twin Cities Con (@GenelJumalon) October 13, 2022
AT là một nghệ sĩ anime người Hàn, người hay stream video quá trình xử lý trên Twitch. Vào ngày 11 tháng 10, AT đã vẽ Raiden Shogun từ Genshin Impact trước khán giả.
Sau đó, một người dùng Twitter có nick là Musaishh đã lấy sản phẩm vẫn còn trong quá trình xử lý, và tạo một hình ảnh tương tự của Raiden Shogun bằng Novel AI và sau đó tải lên 6 giờ trước khi buổi stream của nghệ sĩ kết thúc. Chuyện không có gì to tát nếu gã không cố gắng tấn công AT vì đã đăng tác phẩm của gã.
Musaishh đã xóa tài khoản của mình. Có lẽ là vì rất nhiều người hâm mộ và nghệ sĩ đã phát bực với hành vi trộm cắp nghệ thuật trắng trợn đó.
Kể từ khi phần mềm đằng sau các tác phẩm do AI tạo ra trở thành xu hướng, các nghệ sĩ bằng xương bằng thịt đã phải vật lộn để duy trì quyền kiểm soát các tác phẩm của họ.
Giờ đây, họ phải quan tâm đến việc chứng minh rằng mình chính là người sáng tạo của tác phẩm. Đáp lại sự cố, một nghệ sĩ đã nhắc nhở khán giả của mình hãy lưu giữ video stream quá trình thực hiện của họ. Một số nghệ sĩ đã tweet rằng họ không muốn phát trực tiếp lại tiến trình công việc của mình.
Một nghệ sĩ viết:
“Giờ đây, bất kỳ ai trong chúng ta đều có thể bị những kẻ trộm nghệ thuật cáo buộc là‘ ăn cắp’ vì AI của họ ‘ hoàn thành’ tác phẩm trước”
Nếu bạn đã theo dõi web này trong vài tháng qua, bạn có thể thấy rằng tranh vẽ do AI tạo ra là một quả mìn đạo đức.
Phần mềm lấy dữ liệu từ tác phẩm nghệ thuật có bản quyền mà người sáng tạo ban đầu không biết hoặc chưa cho phép và cố gắng tạo ra một hình ảnh mới từ đó.
Tôi hơi lạc lõng trong số những người thưởng thức nghệ thuật ở chỗ tôi nghĩ bản thân công nghệ có tiềm năng hấp dẫn để tạo ra nghệ thuật có đạo đức với sự cho phép của người sáng tạo.
Nhưng chừng nào các nghệ sĩ không được pháp luật bảo vệ chống lại việc nghệ thuật của họ bị đánh cắp và lừa gạt một cách vô đạo đức, thì ngày đó vẫn còn lâu mới diễn ra.
Mà này, tôi muốn kết thúc bài viết này với một lưu ý tích cực. Đây là bức tranh gốc của Raiden Shogun để bạn thưởng thức:
🔥 HOT🔥 EVENT FOR ARTISTS: THẤU HIỂU NGHỀ 2D ANIMATION GAME
Design Series Đầu Tiên Của Gamba Dành Cho Designers Và Artists Đây Rồiiii!!
2D Animators – Những người hùng đứng sau các tác phẩm game 2D như Mario Bros, Donkey Kong, Sonic,…
Để sản xuất một tác phẩm game hoàn chỉnh đòi hỏi phải thực hiện nhiều công đoạn khác nhau, một 2D Animator sẽ làm cho các khung nền, âm thanh, ánh sáng trong mỗi chuyển động được xây dựng, hoạt động nhịp nhàng.
Tuy đòi hỏi nhiều yêu cầu cao nhưng đó thực sự là công việc sáng tạo, hấp dẫn. À mà sẽ cực đấy! Thỉnh thoảng sẽ hơi cực xíu với những dự án khó nhằn, rồi deadline “tát” vào mặt tới tấp.
Thấu hiểu được sự vất vả khi mới vào nghề, Gamba rất vinh hạnh khi mời anh Nhật Nam, hiện đang là Senior 2D Animation Artist, ex-Gianty Việt Nam về chia sẻ với anh em 2D Animators, nhớ để lại câu hỏi khi đăng ký nhé, anh Nam sẽ giải đáp tất tần tật những thắc mắc của các bạn xung quanh chủ đề khó nhằn này.
Thông tin event:
Thời gian: 9:30 – 11:30, sáng thứ Bảy, 19/11/2022.
Kiểm tra thâm nhập, còn được gọi là Pen Test (Penetration Testing), là một quy trình an ninh mạng giúp bạn vượt lên trước tin tặc. Trong một pentest, một tin tặc (hacker) có “phẩm chất đạo đức” sẽ tìm ra các lỗ hổng bảo mật trong ứng dụng, mạng hoặc hệ thống của bạn và giúp bạn sửa chúng trước khi những kẻ tấn công nhận ra những vấn đề này và khai thác chúng.
Điều này làm cho Pen testing trở thành một bước cơ bản không thể thiếu đối với một trang web hoặc chủ sở hữu doanh nghiệp. Chúng ta hãy tìm hiểu sâu hơn về Pen Test và những gì mong đợi từ nó.
Pen test (trong An ninh mạng) là gì?
Pen Test (Kiểm tra thâm nhập) là phương pháp để đánh giá tính bảo mật của một ứng dụng hoặc mạng bằng cách khai thác một cách an toàn bất kỳ lỗ hổng bảo mật nào có trong hệ thống.
Pen Test là gì? (Ảnh: Vaadata)
Các lỗi bảo mật này có thể xuất hiện trong nhiều khu vực khác nhau như cài đặt cấu hình hệ thống, phương thức đăng nhập và thậm chí cả các hành vi mang tính rủi ro của người dùng cuối.
Ngoài việc đánh giá an ninh, pen test rất cần thiết để đánh giá hiệu quả của các hệ thống phòng thủ và chiến lược an ninh.
Pen test thường bao gồm các bài kiểm tra thủ công và tự động, nhằm mục đích vi phạm tính bảo mật của ứng dụng với sự ủy quyền thích hợp.
Khi các lỗ hổng được phát hiện và khai thác, khách hàng sẽ được cung cấp một báo cáo kiểm tra thâm nhập chi tiết chứa thông tin về phạm vi kiểm tra, các lỗ hổng được tìm thấy, mức độ nghiêm trọng và các đề xuất để vá chúng.
Pen test khác với Đánh giá lỗ hổng như thế nào?
Đánh giá lỗ hổng (Vulnerability Assessment):
Đánh giá lỗ hổng tập trung vào việc phát hiện và phân loại các lỗ hổng trong hệ thống.
Đây là một quy trình chủ yếu tự động liên quan đến các công cụ quét lỗ hổng bảo mật.
Hầu như không thể đảm bảo dương tính giả zero (zero false positives) với đánh giá lỗ hổng bảo mật tự động.
Đánh giá lỗ hổng thường bỏ sót các lỗ hổng nghiêm trọng và phức tạp.
Đánh giá lỗ hổng bảo mật tự động tốn ít thời gian và tiền bạc hơn đáng kể so với pen test.
Pen test:
Pen test bao gồm việc khai thác các lỗ hổng để rút ra những hiểu biết sâu sắc về chúng.
Pen test yêu cầu can thiệp thủ công trên quét tự động.
Pen tester thủ công có thể đảm bảo dương tính giả zero.
Nhờ vào yếu tố con người của pen test, nó phát hiện các lỗi logic nghiệp vụ mà vẫn không bị phát hiện trong quá trình quét lỗ hổng.
Kiểm tra thâm nhập là một thủ tục tốn kém và tốn kém và vì lý do chính đáng.
Thuật ngữ Pen test xuất hiện trong nửa sau của thuật ngữ VAPT, là viết tắt của Đánh giá lỗ hổng và Kiểm tra thâm nhập (Vulnerability Assessment and Penetration Testing).
Khác biệt giữa Pen test và Vulnerability Assessment
Mọi người nhầm lẫn giữa VA (Đánh giá lỗ hổng) và PT (Kiểm tra thâm nhập) là cùng một quy trình và sử dụng chúng thay thế cho nhau. Thực ra, chúng không được và không nên đổi chỗ cho nhau. Sự khác biệt giữa chúng là rất quan trọng khi đánh giá xem nó phù hợp với các yêu cầu như thế nào. Cả hai đều là những phương thức đánh giá bảo mật cần thiết giúp củng cố vị thế bảo mật cho ứng dụng của bạn.
Mục đích của VA là để tìm và cảnh báo người dùng về bất kỳ lỗi bảo mật nào có trong mục tiêu. Trong khi Pen Test khai thác các lỗ hổng được tìm thấy trong VA để xác định mức độ thiệt hại có thể xảy ra. Các quy trình quét lỗ hổng thường là quy trình tự động, còn Pentest chủ yếu được thực hiện thủ công.
VA chủ yếu được thực hiện bởi các kỹ thuật viên có trình độ bằng cách sử dụng các công cụ tự động, kết quả của chúng sau đó được tổng hợp và chứng thực. Trong khi đó, PT thường được thực hiện bởi các hacker mũ trắng hoặc các hacker có đạo đức. Họ là những chuyên gia bảo mật và mang yếu tố con người để đột nhập vào một hệ thống. Trong Pen testing, đánh giá lỗ hổng có thể được sử dụng trong các bước ban đầu để xác định mục tiêu và các vectơ tấn công (attack vector) tiềm năng.
Chi phí là một yếu tố khác phân biệt hai yếu tố này. So với Pentesting, VA có chi phí thấp hơn. Các báo cáo quét lỗ hổng bảo mật chủ yếu chứa danh sách các lỗ hổng bảo mật và mô tả chi tiết về các lỗ hổng này. Mặc dù các báo cáo của PT thường chứa các lỗ hổng được xếp hạng theo mức độ nghiêm trọng, dễ khai thác và rủi ro.
Cả hai quy trình này đều có tính chất bổ sung và thường được thực hiện cùng nhau, trong một quy trình kết hợp được gọi là VAPT, hoặc Kiểm toán bảo mật (Security Audit).
Pen test cho các tổ chức và tại sao nó lại quan trọng?
Tại sao một tổ chức cần pen test thường xuyên?
Bối cảnh mối đe dọa mạng đang ở trong tình trạng thay đổi liên tục. Các lỗ hổng mới được phát hiện và khai thác thường xuyên, một số trong số chúng được công nhận công khai và một số thì không. Cảnh giác là điều tốt nhất bạn có thể làm.
Web pen test giúp bạn loại bỏ tận gốc các lỗ hổng trong hệ thống có thể dẫn đến vi phạm bảo mật, đánh cắp dữ liệu và từ chối dịch vụ.
Pen test không chỉ phát hiện ra các lỗ hổng thông thường với sự trợ giúp của các công cụ tự động và tìm ra các vấn đề bảo mật phức tạp hơn như lỗi logic nghiệp vụ và các vấn đề liên quan đến cổng thanh toán.
Nó giúp bạn có bức tranh rõ ràng hơn về tình hình bảo mật của tổ chức và khắc phục các vấn đề để tăng cường khả năng bảo mật của bạn.
Mục đích chính để tiến hành pentest thường xuyên là:
Bắt kịp với bối cảnh mối đe dọa mạng đang thay đổi
Tìm và giảm thiểu các lỗi logic nghiệp vụ
Chuẩn bị cho kiểm toán tuân thủ
Cứu doanh nghiệp của bạn khỏi vi phạm bảo mật.
Pen test có những cách tiếp cận nào?
Các cách tiếp cận trong Pen test (Ảnh: Redscan)
Có 3 cách tiếp cận được người kiểm tra áp dụng liên quan đến pen test, dựa trên thông tin có sẵn và loại điểm yếu được tìm thấy:
1. White box (hộp trắng)
Trong bài kiểm tra chiếc hộp trắng, người kiểm tra có đầy đủ kiến thức về hệ thống và có toàn quyền truy cập.
Mục tiêu của cách tiếp cận này là tiến hành kiểm tra sâu hệ thống và thu thập càng nhiều thông tin càng tốt.
Lợi thế, trong trường hợp này, là vì người thử nghiệm có quyền truy cập và kiến thức về hệ thống, bao gồm chất lượng mã và thiết kế bên trong, nên Pen test có thể xác định ngay cả các lỗ hổng được định vị từ xa, do đó đưa ra bức tranh gần như đầy đủ về bảo mật.
2. Black box (hộp đen)
Bạn đã đoán đúng, trong cách tiếp cận này, người kiểm tra không có kiến thức về hệ thống và thiết kế bài kiểm tra như một kẻ tấn công không được hiểu biết.
Cách tiếp cận này là gần nhất với một cuộc tấn công trong thế giới thực và liên quan đến mức độ kỹ thuật cao. Cách tiếp cận này có thời gian dài nhất và chi phí cao hơn so với phương pháp hộp trắng.
3. Gray box (Hộp xám)
Như tên cho thấy, cách tiếp cận này nằm giữa kiểm tra hộp trắng và hộp đen. Người kiểm tra chỉ có kiến thức hạn chế về hệ thống.
Ưu điểm của phương pháp này là với lượng kiến thức hạn chế, người thử nghiệm có khu vực tấn công tập trung hơn và do đó tránh được bất kỳ phương pháp tấn công thử-và-sai nào.
3 Loại Pen test
1. Network Pen Test
Mục tiêu của loại pen test này là tìm ra các lỗ hổng trong cơ sở hạ tầng mạng, môi trường on-premise hoặc môi trường đám mây như pen test trên Azure và AWS.
Đây là một trong những bài kiểm tra cơ bản và cũng là một bài kiểm tra quan trọng để bảo vệ dữ liệu của bạn và tính bảo mật của ứng dụng của bạn.
Trong thử nghiệm này, một loạt các lĩnh vực như cấu hình, mã hóa và các bản vá bảo mật lỗi thời sẽ được thử nghiệm và kiểm tra.
Network Pen test được chia thành các loại:
1.1 Pentest bên ngoài
Kịch bản này mô phỏng một cuộc tấn công từ người ngoài có quyền truy cập internet và không có kiến thức trước về hệ thống.
Người kiểm tra sẽ cố gắng đột nhập vào hệ thống của bạn bằng cách khai thác các lỗ hổng từ bên ngoài và truy cập vào dữ liệu và hệ thống nội bộ.
1.2 Pentest nội bộ
Loại này liên quan nhiều hơn đến việc kiểm tra ứng dụng của bạn từ bên trong và tập trung vào môi trường nội bộ.
Tiền giả định, trong trường hợp này, là những kẻ tấn công đã có thể xâm phạm lớp bên ngoài và đã ở trong mạng.
Các mối đe dọa bên ngoài rủi ro hơn các mối đe dọa bên trong vì việc giành quyền truy cập vào các mạng nội bộ là kết quả của việc vi phạm các giao thức bảo mật bên ngoài.
Vì vậy, việc bắt đầu với một pen test bên ngoài là một ý tưởng tốt.
Dưới đây là một số pen test mạng đã được thực hiện:
Kiểm tra bộ định tuyến
Bỏ qua tường lửa
Dấu chân DNS
Loại bỏ IPS / IDS
Quét và kiểm tra các cổng đang mở
Các cuộc tấn công SSH
Kiểm tra trên máy chủ proxy
2. Pen test ứng dụng web
Mục đích của việc này là phát hiện ra các lỗi bảo mật trong các trang web, nền tảng thương mại điện tử (như Magento, PrestaShop, v.v.), phần mềm quản lý quan hệ khách hàng và hệ thống quản lý nội dung,…
Thử nghiệm này kiểm tra toàn bộ ứng dụng bao gồm các chức năng được xây dựng tùy chỉnh và logic nghiệp vụ, để bảo vệ khỏi vi phạm dữ liệu và các cuộc tấn công khác.
Với sự gia tăng của các ứng dụng dựa trên web, không có gì lạ khi lượng dữ liệu khổng lồ được lưu trữ và truyền qua các ứng dụng này trở thành mục tiêu hấp dẫn đối với những kẻ tấn công mạng.
Các tổ chức và cá nhân có ứng dụng web phải tiến hành kiểm tra định kỳ để cập nhật các phương pháp tấn công mới nhất và các lỗi bảo mật. Một số lỗ hổng phổ biến bao gồm:
Mã hóa không dây và lưu lượng mạng
Các điểm truy cập và điểm phát sóng không được bảo vệ
Giả mạo địa chỉ MAC
Thông tin đăng nhập yếu
Các cuộc tấn công DDoS (Từ chối Dịch vụ Phân tán)
Các cuộc tấn công chèn mã / SQL
XSS (Cross-Site Scripting)
Máy chủ web bị định cấu hình sai
Cơ sở dữ liệu trang web
3. Social Engineering
Không giống như các kiểm tra ở trên, nơi khía cạnh kỹ thuật của ứng dụng được xem xét kỹ lưỡng, trong kỹ thuật xã hội (social engineering), tâm lý con người được rà soát tới.
Người thử nghiệm tận dụng và khai thác bản chất con người để đột nhập vào một hệ thống trong pen test kỹ thuật xã hội.
Thông qua thao tác, người kiểm tra sẽ dụ dỗ cá nhân tiết lộ thông tin nhạy cảm sẽ được sử dụng để xâm nhập hệ thống và lên kế hoạch cho các cuộc tấn công tiếp theo.
Một số phương pháp tấn công phổ biến là:
Tấn công lừa đảo
Giả làm đồng nghiệp, nhà thầu hoặc nhà cung cấp
Nối đuôi nhau
Lặn dumpster
Nghe trộm
Bluesnarfing
Mặc dù pen test loại này không được thực hiện rộng rãi, nhưng cần phải có một bức tranh toàn cảnh về các tiêu chuẩn bảo mật của ứng dụng của bạn.
7 Bước tiến hành Pen Test
Cần phải lập kế hoạch pen test chi tiết và chặt chẽ để việc thực thi được thành công.
Có 7 giai đoạn trong thử nghiệm thâm nhập:
Bước 1: Phân tích trước khi tương tác
Trước khi lập kế hoạch kiểm tra, bạn bắt buộc phải cùng với nhà cung cấp bảo mật của mình thảo luận về các chủ đề như phạm vi kiểm tra, ngân sách, mục tiêu, v.v. Nếu không có những điều này, sẽ không có đủ định hướng rõ ràng cho kiểm tra và sẽ dẫn đến rất nhiều nỗ lực lãng phí.
Bước 2: Thu thập thông tin tình báo
Trước khi bắt đầu áp dụng, người thử nghiệm sẽ cố gắng tìm tất cả thông tin công khai có sẵn về hệ thống và bất kỳ thông tin nào có thể giúp xâm nhập. Những thông tin này sẽ hỗ trợ việc tạo ra một kế hoạch hành động cũng như tiết lộ các mục tiêu tiềm năng.
Bước 3: Đánh giá lỗ hổng bảo mật
Trong giai đoạn này, ứng dụng của bạn được kiểm tra các lỗ hổng bảo mật bằng cách phân tích cấu hình và cơ sở hạ tầng bảo mật của bạn. Người kiểm tra tìm kiếm bất kỳ lỗ hổng bảo mật hoặc sơ hở nào có thể bị lợi dụng để đột nhập vào hệ thống.
Bước 4: Khai thác
Một khi người kiểm tra được trang bị kiến thức về các lỗ hổng có trong hệ thống, họ sẽ bắt đầu khai thác chúng. Điều này sẽ giúp xác định bản chất của các lỗ hổng bảo mật và nỗ lực cần thiết để khai thác chúng.
Bước 5: Hậu khai thác
Mục tiêu chính của pentest là mô phỏng một cuộc tấn công trong thế giới thực, trong đó những kẻ tấn công sẽ gây ra thiệt hại thực sự sau khi khai thác các lỗ hổng bảo mật trong hệ thống. Do đó, một khi người thử nghiệm có thể vào hệ thống, họ sẽ sử dụng tất cả các phương tiện có sẵn để nâng cao đặc quyền của họ.
Bước 6: Duy trì quyền truy cập
Khi những kẻ tấn công có quyền truy cập vào hệ thống, chúng cố gắng giữ cho một kênh mở để khai thác thêm thông qua backdoor và rootkit. Điều tương tự cũng được thực hiện bởi những người thử nghiệm. Họ cài đặt phần mềm độc hại và các chương trình khác để giữ cho hệ thống bị nhiễm và kiểm tra xem các chương trình này có bị ứng dụng phát hiện và gỡ bỏ hay không.
Bước 7: Báo cáo
Mọi thứ được thực hiện trong quá trình pen test đều được ghi lại một cách chi tiết cùng với các bước và đề xuất để sửa các lỗi bảo mật. Vì bản chất của báo cáo là rất nhạy cảm, nó được đảm bảo rằng nó được chuyển đến người có thẩm quyền một cách an toàn. Người kiểm tra thường có các cuộc họp và trao đổi với giám đốc điều hành và nhóm kỹ thuật để giúp họ hiểu báo cáo.