Tag Archives: Uncategorized

Microsoft Is Adding New Cryptography Algorithms

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/microsoft-is-adding-new-cryptography-algorithms.html

Microsoft is updating SymCrypt, its core cryptographic library, with new quantum-secure algorithms. Microsoft’s details are here. From a news article:

The first new algorithm Microsoft added to SymCrypt is called ML-KEM. Previously known as CRYSTALS-Kyber, ML-KEM is one of three post-quantum standards formalized last month by the National Institute of Standards and Technology (NIST). The KEM in the new name is short for key encapsulation. KEMs can be used by two parties to negotiate a shared secret over a public channel. Shared secrets generated by a KEM can then be used with symmetric-key cryptographic operations, which aren’t vulnerable to Shor’s algorithm when the keys are of a sufficient size.

The ML in the ML-KEM name refers to Module Learning with Errors, a problem that can’t be cracked with Shor’s algorithm. As explained here, this problem is based on a “core computational assumption of lattice-based cryptography which offers an interesting trade-off between guaranteed security and concrete efficiency.”

ML-KEM, which is formally known as FIPS 203, specifies three parameter sets of varying security strength denoted as ML-KEM-512, ML-KEM-768, and ML-KEM-1024. The stronger the parameter, the more computational resources are required.

The other algorithm added to SymCrypt is the NIST-recommended XMSS. Short for eXtended Merkle Signature Scheme, it’s based on “stateful hash-based signature schemes.” These algorithms are useful in very specific contexts such as firmware signing, but are not suitable for more general uses.

The 360’s have a new home!

Post Syndicated from Adam Bradley original https://www.ibm360.co.uk/?p=916

So, if you read our last post, you undoubtedly know that we were looking to relocate the collection to an organisation that was going to display it and potentially restore it. We had many, many interested parties reach out to us from museums all over the world to private collectors interested in acquiring the machines. When we set out to rescue the 360’s Chris and I decided that our main goal was their preservation, and everything else was by the wayside. We evaluated each and every opportunity presented to us for a new home for the 360’s, and found an organisation who we considered to be exactly what we’d been looking for.

System Source Museum got in touch with us very shortly after we made the post to register their interest. We had an initial engagement call with them, and were very impressed by their attitude and approach. Ideally Chris & I wanted to maintain ownership of the systems, and System Source were very happy to take them on a long term loan basis. Chris flew over to see them in Maryland and was again extremely impressed with their collection, display, team, and approach to restoration & conservation. We drew up a contract together, signed the various agreements, and two of their team, Ryan Schiff (Vice President) & Ryan Burke (Assistant Museum Director), flew to the UK to package and ship the systems.

Soon enough, a delivery of bespoke sized pallets (made for the sizes of the machines) arrived at Creslow, and a huge delivery of packing material was delivered to my house (filling my lounge!):

1CA780BB-BBE4-45D2-9C01-2E9283B9D8A9_1_105_c

The team arrived the next day and we set about planning how to package the machines, spares, consumables etc. safely and securely for their transatlantic voyage. The System Source chaps had procured and had delivered a steel strapping machine and a large amount of strapping which would be used to secure the machines to the pallets. This was coupled with moving blankets, cardboard corners, bubble wrap, packaging tape etc. etc. Soon enough we started loading machines onto the pallets:

10683245-889D-44C2-942D-328FD352C6BA_1_105_c

When it came to the larger items, these presented a problem. The forklift truck available at Creslow doesn’t fit into the building because of the cage height, and the floor probably wouldn’t support its weight anyway. We therefore had to come up with a different solution. Cue the return of the ramp we built all of those years ago on a street in Nuremberg!

75D67044-661B-4766-A0F8-2751B4A0376E_1_105_c

Yes, it still exists, and it had one final use moving IBM’s. It may have cost 150 euros in wood, but we’ve had our moneys worth!

Pretty quickly the 370 was loaded, strapped, and wrapped:

B37A62A6-BDAA-4E5D-9856-746A86F34A5E_1_105_c

Now, the big question arrived. With a long, custom sized pallet, how do you move it? Two pallet trucks, one at each end, would’ve been possible but would’ve restricted where the machines could be placed. It was then we discovered that you can buy double length, wide fork pallet trucks. Dutifully the next day the System Source team went off to Pallet Truck World (yes, really) to acquire such an item:

8D02260E-6A2C-4C10-9EAB-DD76A491B1CF_1_105_c

This made moving everything about 100 times easier, and we could now shift the pallets around the room with ease.

So, next up was the first 360 CPU. This presented more of a challenge as the cables hanging under the system, which are wired directly into the backplane, meant we couldn’t use the ramp method. After scratching our heads for a few minutes we concocted a solution involving a car jack & a pile of wood:

2C4BDA6C-35BB-443A-A223-E7E569208278_1_105_c
1F70F740-7C9E-4E0E-B525-4FC7D66C35C5_1_105_c
62E86CFC-72F9-4F8F-95DC-E665575824A3_1_105_c

Now this probably looks really sketchy, and thats because, like everything moving big iron related, it was. First, we jacked up the front of the machine to a height slightly above that of the pallet, and then wedged in some wood on the supporting rail. We then positioned the pallet under the front wheels of the CPU, and smacked out the wood. This enabled us to roll the machine forward onto the pallet as far as the angle of attack would allow, and we then jacked up the back of the machine and rolled it forward on the jack enabling us to locate it fully onto the pallet. This may sound slightly convoluted but it was actually a very quick operation, and by the third machine we were getting quite good at it!

Because the cables are hard wired into the CPU’s, we had to bundle them and cable tie them to the ends of the machines, later wrapping them in a significant amount of bubble wrap and blankets to protect them from crush risk:

F3045AAD-EB95-45FD-AF07-64CC7753DB6F_1_105_c
3B338EF6-3D99-401F-A329-73549AC4C37F_1_105_c

We continued loading items throughout the next few days, using the same method each time:

6223B8F1-6CA5-45E8-8534-4F08DDC83893_1_105_c

For the exceptionally heavy item, the master tape drive, we decided to reinforce the pallet for extra security. This involved a trip to Wickes to buy some plywood (Wickes is no Bauhaus, trust me), which we then cut and secured to the pallet:

897077D4-263F-4D69-90AD-24026D50CB76_1_105_c

This enabled the loading of the nearly 1 tonne tape drive:

A268B16A-E21F-4058-ABA2-B1DC2E715F8B_1_105_c
7D28385E-0A1E-4525-8DD5-E62732595810_1_105_c

We then boxed and crated up the spares & consumables for easy shipping:

6EBE62E9-262C-4203-99A5-9383231DD3A2_1_105_c

Some of the slightly more bizarre items we had acquired, like spare System 3 parts, were also palletised and used as support structures to ship other items such as loose pannels:

F1C430F9-1077-4E0E-9DE3-E760C1AD8AEB_1_105_c

With all of the machines palletised and strapped down, we set about wrapping everything in bubble wrap, moving blankets, and pallet wrap:

7897C885-FB25-4A42-A24A-29CA67408B7E_1_105_c
0E516061-5FC7-45EE-84A5-6BC3F4860555_1_105_c
12094175-C5F4-4A62-9E01-148F3B66CBF5_1_105_c

We also cut and used pieces of 2×4 to box in the wheels so the machines wouldn’t move at all during transit:

1616EBE1-15F6-4087-8123-A898BBCCE831_1_105_c

Having started on the 10th of May, and finished packing everything on the 17th, it was time for the trucks. Because of the Francis Scott Key Bridge collapse at the Port of Baltimore, shipping had become a real challenge. It took the team several days to identify and engage with a shipping provider that could do the end to end move for a reasonable price. Eventually they did, and two trucks arrived to take the machines. I dutifully climbed into the forklift and loaded them one by one onto the trucks. Please don’t judge my forklift driving too harshly, at the time the brakes were… well, the less said the better.


CDB0A2EB-1FCD-43D1-883B-B2E1FB552965_1_105_c
77B17FB5-200C-4C6D-AA8D-D8F4231B4792_1_105_c

With everything loaded up, the trucks departed and we waved goodbye to the machines as they’re off to their new home.

On October 18th System Source Museum will be holding a special gallery opening for the IBM 360’s, and I’m very happy to say that we’ll be in attendance to see them in their new home. We’re exceptionally pleased that we found somewhere that was not only willing to take the machines on a loan basis, but is going to display them to the public, restore them to working order, and use them as tools to educate future generations. It was a real pleasure working with the team from System Source on the project, and I’d like to extend to them my personal thanks for the highly professional and effective approach they’ve taken to the project.

I’ll write an update when we go to see the machines in their new home, and hopefully we’ll be able to keep updating the blog as they progress with their restoration.

Evaluating the Effectiveness of Reward Modeling of Generative AI Systems

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/evaluating-the-effectiveness-of-reward-modeling-of-generative-ai-systems-2.html

New research evaluating the effectiveness of reward modeling during Reinforcement Learning from Human Feedback (RLHF): “SEAL: Systematic Error Analysis for Value ALignment.” The paper introduces quantitative metrics for evaluating the effectiveness of modeling and aligning human values:

Abstract: Reinforcement Learning from Human Feedback (RLHF) aims to align language models (LMs) with human values by training reward models (RMs) on binary preferences and using these RMs to fine-tune the base LMs. Despite its importance, the internal mechanisms of RLHF remain poorly understood. This paper introduces new metrics to evaluate the effectiveness of modeling and aligning human values, namely feature imprint, alignment resistance and alignment robustness. We categorize alignment datasets into target features (desired values) and spoiler features (undesired concepts). By regressing RM scores against these features, we quantify the extent to which RMs reward them ­ a metric we term feature imprint. We define alignment resistance as the proportion of the preference dataset where RMs fail to match human preferences, and we assess alignment robustness by analyzing RM responses to perturbed inputs. Our experiments, utilizing open-source components like the Anthropic preference dataset and OpenAssistant RMs, reveal significant imprints of target features and a notable sensitivity to spoiler features. We observed a 26% incidence of alignment resistance in portions of the dataset where LM-labelers disagreed with human preferences. Furthermore, we find that misalignment often arises from ambiguous entries within the alignment dataset. These findings underscore the importance of scrutinizing both RMs and alignment datasets for a deeper understanding of value alignment.

Australia Threatens to Force Companies to Break Encryption

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/australia-threatens-to-force-companies-to-break-encryption.html

In 2018, Australia passed the Assistance and Access Act, which—among other things—gave the government the power to force companies to break their own encryption.

The Assistance and Access Act includes key components that outline investigatory powers between government and industry. These components include:

  • Technical Assistance Requests (TARs): TARs are voluntary requests for assistance accessing encrypted data from law enforcement to teleco and technology companies. Companies are not legally obligated to comply with a TAR but law enforcement sends requests to solicit cooperation.
  • Technical Assistance Notices (TANs): TANS are compulsory notices (such as computer access warrants) that require companies to assist within their means with decrypting data or providing technical information that a law enforcement agency cannot access independently. Examples include certain source code, encryption, cryptography, and electronic hardware.
  • Technical Capability Notices (TCNs): TCNs are orders that require a company to build new capabilities that assist law enforcement agencies in accessing encrypted data. The Attorney-General must approve a TCN by confirming it is reasonable, proportionate, practical, and technically feasible.

It’s that final one that’s the real problem. The Australian government can force tech companies to build backdoors into their systems.

This is law, but near as anyone can tell the government has never used that third provision.

Now, the director of the Australian Security Intelligence Organisation (ASIO)—that’s basically their FBI or MI5—is threatening to do just that:

ASIO head, Mike Burgess, says he may soon use powers to compel tech companies to cooperate with warrants and unlock encrypted chats to aid in national security investigations.

[…]

But Mr Burgess says lawful access is all about targeted action against individuals under investigation.

“I understand there are people who really need it in some countries, but in this country, we’re subject to the rule of law, and if you’re doing nothing wrong, you’ve got privacy because no one’s looking at it,” Mr Burgess said.

“If there are suspicions, or we’ve got proof that we can justify you’re doing something wrong and you must be investigated, then actually we want lawful access to that data.”

Mr Burgess says tech companies could design apps in a way that allows law enforcement and security agencies access when they request it without comprising the integrity of encryption.

“I don’t accept that actually lawful access is a back door or systemic weakness, because that, in my mind, will be a bad design. I believe you can ­ these are clever people ­ design things that are secure, that give secure, lawful access,” he said.

We in the encryption space call that last one “nerd harder.” It, and the rest of his remarks, are the same tired talking points we’ve heard again and again.

It’s going to be an awfully big mess if Australia actually tries to make Apple, or Facebook’s WhatsApp, for that matter, break its own encryption for its “targeted actions” that put every other user at risk.

YubiKey Side-Channel Attack

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/yubikey-side-channel-attack.html

There is a side-channel attack against YubiKey access tokens that allows someone to clone a device. It’s a complicated attack, requiring the victim’s username and password, and physical access to their YubiKey—as well as some technical expertise and equipment.

Still, nice piece of security analysis.

Security Researcher Sued for Disproving Government Statements

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/security-researcher-sued-for-disproving-government-statements.html

This story seems straightforward. A city is the victim of a ransomware attack. They repeatedly lie to the media about the severity of the breach. A security researcher repeatedly proves their statements to be lies. The city gets mad and sues the researcher.

Let’s hope the judge throws the case out, but—still—it will serve as a warning to others.

List of Old NSA Training Videos

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/list-of-old-nsa-training-videos.html

The NSA’s “National Cryptographic School Television Catalogue” from 1991 lists about 600 COMSEC and SIGINT training videos.

There are a bunch explaining the operations of various cryptographic equipment, and a few code words I have never heard of before.

SQL Injection Attack on Airport Security

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/09/sql-injection-attack-on-airport-security.html

Interesting vulnerability:

…a special lane at airport security called Known Crewmember (KCM). KCM is a TSA program that allows pilots and flight attendants to bypass security screening, even when flying on domestic personal trips.

The KCM process is fairly simple: the employee uses the dedicated lane and presents their KCM barcode or provides the TSA agent their employee number and airline. Various forms of ID need to be presented while the TSA agent’s laptop verifies the employment status with the airline. If successful, the employee can access the sterile area without any screening at all.

A similar system also exists for cockpit access, called the Cockpit Access Security System (CASS). Most aircraft have at least one jumpseat inside the cockpit sitting behind the flying pilots. When pilots need to commute or travel, it is not always possible for them to occupy a revenue seat, so a jumpseat can be used instead. CASS allows the gate agent of a flight to verify that the jumpseater is an authorized pilot. The gate agent can then inform the crew of the flight that the jumpseater was authenticated by CASS.

[attack details omitted]

At this point, we realized we had discovered a very serious problem. Anyone with basic knowledge of SQL injection could login to this site and add anyone they wanted to KCM and CASS, allowing themselves to both skip security screening and then access the cockpits of commercial airliners.

We ended up finding several more serious issues but began the disclosure process immediately after finding the first issue.

Adm. Grace Hopper’s 1982 NSA Lecture Has Been Published

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/08/adm-grace-hoppers-1982-nsa-lecture-has-been-published.html

The “long lost lecture” by Adm. Grace Hopper has been published by the NSA. (Note that there are two parts.)

It’s a wonderful talk: funny, engaging, wise, prescient. Remember that talk was given in 1982, less than a year before the ARPANET switched to TCP/IP and the internet went operational. She was a remarkable person.

Listening to it, and thinking about the audience of NSA engineers, I wonder how much of what she’s talking about as the future of computing—miniaturization, parallelization—was being done in the present and in secret.

US Federal Court Rules Against Geofence Warrants

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2024/08/us-federal-court-rules-against-geofence-warrants.html

This is a big deal. A US Appeals Court ruled that geofence warrants—these are general warrants demanding information about all people within a geographical boundary—are unconstitutional.

The decision seems obvious to me, but you can’t take anything for granted.

How A/B Testing and Multi-Model Hosting Accelerate Generative AI Feature Development in Amazon Q

Post Syndicated from Sai Srinivas Somarouthu original https://aws.amazon.com/blogs/devops/how-a-b-testing-and-multi-model-hosting-accelerate-generative-ai-feature-development-in-amazon-q/

Introduction

In the rapidly evolving landscape of Generative AI, the ability to deploy and iterate on features quickly and reliably is paramount. We, the Amazon Q Developer service team, relied on several offline and online testing methods, such as evaluating models on datasets, to gauge improvements. Once positive results are observed, features were rolled out to production, introducing a delay until the change affected 100% of customers.

This blog post delves into the impact of A/B testing and Multi-Model hosting on deploying Generative AI features. By leveraging these powerful techniques, our team has been able to significantly accelerate the pace of experimentation, iteration, and deployment. We have not only streamlined our development process but also gained valuable insights into model performance, user preferences, and the potential impact of new features. This data-driven approach has allowed us to make informed decisions, continuously refine our models, and provide a user experience that resonates with our customers

What is A/B Testing?

A/B testing is a controlled experiment, and a widely adopted practice in the tech industry. It involves simultaneously deploying multiple variants of a product or feature to distinct user segments. In the context of Amazon Q Developer, the service team leverages A/B testing to evaluate the impact of new model variants on the developer experience. This helps in gathering real-world feedback from a subset of users before rolling out changes to the entire user base.

  1. Control group: Developers in the control group continue to receive the base Amazon Q Developer experience, serving as the benchmark against which changes are measured.
  2. Treatment group: Developers in the treatment group are exposed to the new model variant or feature, providing a contrasting experience to the control group.

To run an experiment, we take a random subset of developers and evenly split it into two groups: The control group continues to receive the base Amazon Q Developer experience, while the treatment group receives a different experience.

By carefully analyzing user interactions and telemetry metrics of the control group and comparing them to those from the treatment group, we can make informed decisions about which variant performs better, ultimately shaping the direction of future releases.

How do we split the users?

Whenever a user request is received, we perform consistent hashing on the user identity and assign the user to a cohort. Irrespective on which machine the algorithm runs, the user will be assigned the same cohort. This means that we can scale horizontally – user A’s request can be served by any machine and user A will always be assigned to group A from the beginning to the end of the experiment.

Individuals in the two groups are, on average, balanced on all dimensions that will be meaningful to the test. This means that we do not expose a cohort to have more than one experiment at any given time. This enables us to conduct multivariate experiments where one experiment does not impact the result of another.

The diagram illustrates how a consistent hashing algorithm based on userID’s assigns users to cohorts representing control or treatment groups of experiments.

The above diagram illustrates the process of user assignment to cohorts in a system conducting multiple parallel A/B experiments.

How do we enable segmentation?

For some A/B experiments, we want to perform A/B experiments for users matching certain criteria. Assume we want to exclusively target Amazon Q Developer customers using the Visual Studio Code Integrated Development Environment (IDE). For such scenarios, we perform cohort allocation only for users who meet the criteria. In this example, we would divide a subset of Visual Studio Code IDE users into control and treatment cohorts.

How do we route the traffic between different models ?

Early on, we realized that we will need to host hundreds of models. To achieve this, we run multiple Amazon Elastic Container Service (Amazon ECS) clusters to host different models. We leverage Application Load Balancer’s path based routing to route traffic to the various models.

The diagram depicts how Application Load Balancer paths 1-n direct traffic to control model or treatment model 1-n.

The above diagram depicts how Application Load Balancer redirects traffic to various models based on path-based routing. Where path1 is routing to control model and path2 is routing to treatment model 1 etc.

How do we enable different IDE experiences for different groups?

The IDE plugin polls the service endpoint asking if the developer belongs to the control or treatment group. Based on the response the user will be served the control or treatment experience.

The diagram shows the IDE plugin polling the backend service to display a control or treatment experience.

The above diagram depicts how the IDE plugin provides different experience based on control or treatment group.

How do we ingest data?

From the plugin, we publish telemetry metrics to our data plane. We honor opt-out settings of our users. If the user is opted-out, we do not store their data. In the data plane, we check the cohort of the caller. We publish telemetry metrics with cohort metadata to Amazon Data Firehose, which delivers the data to an Amazon OpenSearch Serverless destination.

The diagram depicts the flow of data from IDE to Data Plane to Kinesis Data Firehose to Amazon OpenSearch Serverless.

The above diagram depicts how metrics are captured via the data plane into Amazon OpenSearch Serverless.

How do we analyze the data?

We publish the aggregated metrics to OpenSearch Serverless. We leverage OpenSearch Serverless to ingest and index various metrics to compare and contrast between control and treatment cohorts. We enable filtering based on metadata such as programming language and IDE.

Additionally, we publish data and metadata to a data lake to view, query and analyze the data securely using Jupyter Notebooks and dashboards. This enables our scientists and engineers to perform deeper analysis.

Conclusion

This post has focused on challenges Generative AI services face when it comes to fast experimentation cycles, the basics of A/B testing and the A/B testing capabilities built by the Amazon Q Developer service team to enable multi-variate service and client-side experimentation. We can gain valuable insights into the effectiveness of the new model variants on the developer experience within Amazon Q Developer. Through rigorous experimentation and data-driven decision-making, we can empower teams to iterate, innovate, and deliver optimal solutions that resonate with the developer community.

We hope you are as excited as us about the opportunities with Generative AI! Give Amazon Q Developer and Amazon Q Developer Customization a try today:

Amazon Q Developer Free Tier: https://aws.amazon.com/q/developer/#Getting_started/

Amazon Q Developer Customization: https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/customizations.html

About the authors

Sai Srinivas Somarouthu

Sai Srinivas Somarouthu is a Software Engineer at AWS, working on building next generation models and development tools such as Amazon Q. Outside of work, he finds joy in traveling, hiking, and exploring diverse cuisines.

Karthik Rao

Karthik is a Senior Software Engineer at AWS, working on building next generation development tools such as Amazon Q. Outside of work, he can be found hiking and snowboarding.

Kenneth Sanchez

Kenneth is a Software Engineer at AWS, working on building next generation development tools such as Amazon Q. Outside of work, he likes spending time with his family and finding new good places to drink coffee.